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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Atif Jung | 2010-03-03 15:45:59 | libpq or ESQL |
Previous Message | Thom Brown | 2010-03-03 11:01:35 | Re: Array or not Array? |