Обсуждение: RE: [SQL] substring
I wonder if position is a 6.5 feature? I am using 6.5.
-----Original Message-----From: José Soares [SMTP:jose@sferacarta.com]Sent: Tuesday, April 27, 1999 7:02 AMTo:
NuchanardChiannilkulchaiCc: pgsql-sql@hub.orgSubject: Re: [SQL] substring
Nuchanard Chiannilkulchai ha scritto:
The problem is : select position ('_' in a ) from table_a
does not work. ERROR: No such function 'strpos' with the specified
attributes
while select position('_' in '98-004_c136') ; give the
right answer.
I wonder how to introduce the attribute , and not the
constant value.
Michael J Davis wrote:
> try: > > select a, substring(a, 1, position('_' in a) -1) from
table_a; > > I have not tested this. Not sure if the parameters to
substring are > correct. Also not sure if the -1 is needed. > > > -----Original Message----- > > From:
NuchanardChiannilkulchai [SMTP:nuch@valigene.com]
> > Sent: Monday, April 26, 1999 8:57 AM > > To: pgsql-sql@hub.org > > Subject: [SQL] substring
>> > > Hello, > > > > How should I do my query to put a substring value in
a field, in > > postgres ( I have 6.4) ? > > [snips]
> > in sybase, this should be > > select a, substring(a,1,charindex('_',a)-1) from
table_a > > a > > ---------------- ---------------- > > 98-004_c136 98-004 > >
98-005_c171 98-005 > > P124_154 P124 > >
charindex() is not SQL standard, with PostgreSQL you can use this portable SQL standard query:
select a, substring(a from 1 for position('_' in a) - 1) as part
from test; a |part -----------+------ 98-004_c136|98-004 98-005_c171|98-005 P124_154 |P124 (3 rows)
José
Michael J Davis ha scritto:
> I wonder if position is a 6.5 feature? I am using 6.5.
POSITION function was implemented on v6.2.
José
>
>
> -----Original Message-----
> From: José Soares [SMTP:jose@sferacarta.com]
> Sent: Tuesday, April 27, 1999 7:02 AM
> To: Nuchanard Chiannilkulchai
> Cc: pgsql-sql@hub.org
> Subject: Re: [SQL] substring
>
>
>
> Nuchanard Chiannilkulchai ha scritto:
>
> The problem is : select position ('_' in a ) from table_a
> does not
> work.
> ERROR: No such function 'strpos' with the specified
> attributes
>
> while select position('_' in '98-004_c136') ; give the
> right answer.
>
> I wonder how to introduce the attribute , and not the
> constant value.
>
> Michael J Davis wrote:
>
> > try:
> >
> > select a, substring(a, 1, position('_' in a) -1) from
> table_a;
> >
> > I have not tested this. Not sure if the parameters to
> substring are
> > correct. Also not sure if the -1 is needed.
> >
> > > -----Original Message-----
> > > From: Nuchanard Chiannilkulchai [SMTP:nuch@valigene.com]
>
> > > Sent: Monday, April 26, 1999 8:57 AM
> > > To: pgsql-sql@hub.org
> > > Subject: [SQL] substring
> > >
> > > Hello,
> > >
> > > How should I do my query to put a substring value in
> a field, in
> > > postgres ( I have 6.4) ?
> > > [snips]
>
> > > in sybase, this should be
> > > select a, substring(a,1,charindex('_',a)-1) from
> table_a
> > > a
> > > ---------------- ----------------
> > > 98-004_c136 98-004
> > > 98-005_c171 98-005
> > > P124_154 P124
> > >
>
> charindex() is not SQL standard, with PostgreSQL you can
> use this portable SQL standard query:
>
> select a, substring(a from 1 for position('_' in a) - 1) as part
> from test;
> a |part
> -----------+------
> 98-004_c136|98-004
> 98-005_c171|98-005
> P124_154 |P124
> (3 rows)
>
> José
>