Re: regular expressions troubles with char cols

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: dbahena(at)tpv(dot)com(dot)mx
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: regular expressions troubles with char cols
Date: 2000-07-03 14:11:23
Message-ID: 18882.962633483@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

dbahena(at)tpv(dot)com(dot)mx writes:
> ventasge2000=# create table t1 (c1 char(10),c2 varchar(10));
> CREATE
> ventasge2000=# insert into t1 values('XXX666','XXX666');
> INSERT 182218 1
> ventasge2000=# select * from t1 where c1 ~ '666$';
> c1 | c2
> ----+----
> (0 rows)
> ventasge2000=# select * from t1 where c2 ~ '666$';
> c1 | c2
> ------------+--------
> XXX666 | XXX666
> (1 row)

> Doesn't regular expressions(in particular the $ metachar) work properly
> with char columns????

I see no bug there --- you've forgotten about the trailing spaces in
the char(10) column. Try c1 ~ '666 *$' if you want to match against a
variable amount of padding in a char(N) column. But really I'd suggest
using the appropriate datatype to begin with, and evidently char(N) is
not it for your use of this table.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Chris Bitmead 2000-07-03 14:19:31 PQprint
Previous Message eisentrp 2000-07-03 14:04:08 fcntl(F_SETLK)