Received: from corppo1.uvsg.com (corppo1.uvsg.com [192.40.65.90]) by hub.org (8.9.3/8.9.1) with ESMTP id KAA99403 for ; Tue, 27 Apr 1999 10:11:07 -0400 (EDT) (envelope-from michael.j.davis@tvguide.com) Received: from prevuepo1.prevuenet.com (prevuepo1.uvsg.com [192.40.65.44]) by corppo1.uvsg.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2448.0) id JCBQ8D81; Tue, 27 Apr 1999 09:10:39 -0500 Received: by prevuepo1.uvsg.com with Internet Mail Service (5.5.2232.9) id ; Tue, 27 Apr 1999 09:13:39 -0500 Message-ID: <93C04F1F5173D211A27900105AA8FCFC14542C@lambic.prevuenet.com> From: Michael J Davis To: =?iso-8859-1?Q?=27Jos=E9_Soares=27?= Cc: pgsql-sql@hub.org Subject: RE: [SQL] substring Date: Tue, 27 Apr 1999 09:06:43 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2232.9) Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by hub.org id KAA99406 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 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é