Skip site navigation (1) Skip section navigation (2)

Re: Array or not Array?

From: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Re: Array or not Array?
Date: 2010-03-03 11:08:46
Message-ID: 20100303110846.GF19135@a-kretschmer.de (view raw or flat)
Thread:
Lists: pgsql-novice
In response to Atif Jung :
> If I have a table as follows:
>  
> CREATE TABLE test1 (a char(5));
>  
> how would I test that the 2nd character of column a is NOT the letter 'b' for
> example.
>  
> In Informix I would say:
>  
> SELECT count(*) FROM test1 where a[2] <> 'b';
>  
> In POSTGRES I get an error saying "ERROR:  cannot subscript type character
> because it is not an array". I understand why I'm getting the error,  but I'm
> not sure how I do what I want to do?

You can use the substring() - function:

test=# CREATE TABLE test1 (a char(5));
CREATE TABLE
test=*# copy test1 from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> aaa
>> bbb
>> test
>> foo
>> bar
>> \.
test=*# select count(1) from test1 where substring(a,2,1) = 'b';
 count
-------
     1
(1 row)

test=*# select count(1) from test1 where substring(a,2,1) != 'b';
 count
-------
     4
(1 row)



HTH, Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431  2EB0 389D 1DC2 3172 0C99

In response to

pgsql-novice by date

Next:From: Atif JungDate: 2010-03-03 15:45:59
Subject: libpq or ESQL
Previous:From: Thom BrownDate: 2010-03-03 11:01:35
Subject: Re: Array or not Array?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group