Re: dotted quad netmask conversion

From: Jon Nelson <jnelson+pgsql(at)jamponi(dot)net>
To: Steve Clark <sclark(at)netwolves(dot)com>
Cc: pgsql <pgsql-general(at)postgresql(dot)org>
Subject: Re: dotted quad netmask conversion
Date: 2010-12-07 15:30:07
Message-ID: AANLkTimcbum+Kccyr4BDFmC61wsES5bu-HN02tCWCdSB@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Dec 7, 2010 at 9:17 AM, Steve Clark <sclark(at)netwolves(dot)com> wrote:
> Hello All,
>
> I am working with a postgresql database that has two columns.
> One for an ip address and another for the netmask. Both of these
> columns are char varying(30). I would like to convert to just
> one column as inet. Any one know a slick way to convert the
> dotted quad netmask, E.G. 255.255.128.0, to number of bits. I didn't
> see any way directly looking at the network functions in the PG
> documentation.

select '1.2.3.4'::inet & '255.255.128.0'::inet;
or
select CAST('1.2.3.4' AS INET) & CAST('255.255.128.0' AS INET);

Be aware that CIDR representation is not as granular as netmask.

http://www.postgresql.org/docs/8.4/interactive/functions-net.html

--
Jon

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2010-12-07 15:36:49 Re: if-clause to an exiting statement
Previous Message Dmitriy Igrishin 2010-12-07 15:23:16 Re: Do we want SYNONYMS?