pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Harald Fuchs <hari.fuchs@gmail.com>
To: pgsql-sql@postgresql.org
Subject: Re: Is there any function to test for numeric ips?
Date: Fri, 11 Dec 2009 17:23:47 +0100
Message-ID: <pu3a3hiing.fsf@srv.protecting.net> (raw)
References: <E94D918326D044C69895D829038E31B2@marktestcr.marktest.pt>

In article <E94D918326D044C69895D829038E31B2@marktestcr.marktest.pt>,
"Oliveiros C," <oliveiros.cristina@marktest.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}$'




view thread (6+ messages)  latest in thread

Message-ID: <pu3a3hiing.fsf@srv.protecting.net>
Permalink:  ../pu3a3hiing.fsf@srv.protecting.net/
Also on:    postgresql.org/message-id/pu3a3hiing.fsf@srv.protecting.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: hari.fuchs@gmail.com
  Subject: Re: Is there any function to test for numeric ips?
  In-Reply-To: <pu3a3hiing.fsf@srv.protecting.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox