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
tsa...@gallo.ucsf.edu



-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to