| 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: | Whole Thread | Raw Message | 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
| 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) |