| From: | Harald Fuchs <hari(dot)fuchs(at)gmail(dot)com> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Re: Is there any function to test for numeric ips? |
| Date: | 2009-12-11 16:23:47 |
| Message-ID: | pu3a3hiing.fsf@srv.protecting.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
In article <E94D918326D044C69895D829038E31B2(at)marktestcr(dot)marktest(dot)pt>,
"Oliveiros C," <oliveiros(dot)cristina(at)marktest(dot)pt> writes:
> Dear All,
> I have a table with host names and some happen to be numeric IPs.
> I would like to be able to filter out the later.
> Is there any function pre-defined in the system that can test a particular text
> type value to see if it is a numeric ip?
> Something that returns true if applied to '192.168.1.1' but false if applied to
> 'videos.sapo.pt' ?
> I considered NOT LIKE '%.%.%.%' but I'm affraid it will filter out host names
> like 'www.google.com.br'
> I've realized that, for ex, inet 'x.x.x.x' will fail if the input is not a
> numeric IP,
> is there any simple and direct way to somewhat trap that error and convert it
> to a false value that can be used
> in a WHERE clause?
You could use a regular expression match:
SELECT host
FROM t1
WHERE host ~ '^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$'
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Fernando Hevia | 2009-12-11 16:26:00 | Re: Is there any function to test for numeric ips? |
| Previous Message | Fernando Hevia | 2009-12-11 16:20:03 | Re: Is there any function to test for numeric ips? |