On 12/07/2010 10:30 AM, Jon Nelson wrote:
Thanks for the response Jon. I should have stated this PG 8.1.x and '&' doesn't existOn Tue, Dec 7, 2010 at 9:17 AM, Steve Clark <sclark@xxxxxxxxxxxxx> 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 for network functions. select CAST('1.2.3.4' AS INET) & CAST('255.255.128.0' AS INET); ERROR: operator does not exist: inet & inet HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. --
Stephen Clark NetWolves Sr. Software Engineer III Phone: 813-579-3200 Fax: 813-882-0209 Email: steve.clark@xxxxxxxxxxxxx http://www.netwolves.com |