| From: | Tena Sakai <tsakai(at)gallo(dot)ucsf(dot)edu> | 
|---|---|
| To: | "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org> | 
| Subject: | please help me on regular expression | 
| Date: | 2010-02-02 19:22:54 | 
| Message-ID: | C78DBD69.918D%tsakai@gallo.ucsf.edu | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-sql | 
Hi everybody,
I need a bit of help on postgres reqular expression.
With a table of the following definition:
           Table "tsakai.pheno"
  Column   |       Type        | Modifiers
-----------+-------------------+-----------
 subjectid | integer           | not null
 height    | character varying | not null
 race      | character varying | not null
 blood     | character varying | not null
I want to catch entries in height column that includes a
decimal point.  Here's my attempt:
 select subjectid, height
   from tsakai.pheno
  where height ~ '[:digit:]+.[:digit:]+';
Which returns 0 rows, but if I get rid of where clause,
I get rows like:
 subjectid | height
-----------+--------
     55379 | 70.5
     55383 | 69
     55395 | 70
     56173 | 71
     56177 | 65.5
     56178 | 70
       .      .
       .      .
And when I escape that dot after first plus sign with a backslash,
like this:
  where height ~ '[:digit:]+\.[:digit:]+';
then I get complaint:
WARNING:  nonstandard use of escape in a string literal
LINE 3: where height ~ '[:digit:]+\.[:digit:]+';
                       ^
HINT:  Use the escape string syntax for escapes, e.g., E'\r\n'.
From there, it was a downward spiral descent...
Please help.
Thank you.
Regards,
Tena Sakai
tsakai(at)gallo(dot)ucsf(dot)edu
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Pavel Stehule | 2010-02-02 20:38:42 | Re: please help me on regular expression | 
| Previous Message | Lee Hachadoorian | 2010-02-01 21:14:34 | Re: Crosstab Confusion |