Thread: regular expression

regular expression

From
fiona
Date:
My database table holds phone numbers that may contain characters other than digits (that's not a problem in itself).

I want to be able to apply a regular expression (to ignore all characters except digits) to the attribute 'phone' first
andthen for the ILIKE to compare 
the result to $telephone. I can't find any way of applying the RE to phone.

My current query without the RE is as follows:

SELECT telephone
FROM addresses
WHERE id = user_id
AND phone ILIKE '%".addslashes($telephone)."%'"

I want to do something like:  AND phone([^[:digit:]]) ILIKE $telephone
But this doesn't work.
Any ideas?

FB

--
Get Thunderbird <http://www.mozilla.org/products/thunderbird/>
<http://www.mozilla.org/products/thunderbird/>

Re: regular expression

From
Pavel Stehule
Date:
Hello,

You can use function translate

testdb011=# select
translate('XY1X234X','qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM','');
 translate
-----------
 1234
(1 row)

Regards
Pavel Stehule