Re: testing castability of VARCHAR data to INET/CIDR

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: testing castability of VARCHAR data to INET/CIDR
Date: 2005-07-23 12:04:55
Message-ID: 20050723120455.GA93345@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, Jul 23, 2005 at 11:31:23AM +0200, Roman Neuhauser wrote:
>
> I have a VARCHAR column containing mostly ip addresses, with an
> occasional piece of junk, and would like to transfer this data to an
> INET column. The UPDATE (SET inet_col = CAST(vc_col AS INET)) aborts
> as soon as it hits an invalid datum. I'm looking for a way to add
> something like WHERE IS_CASTABLE(vc_col, INET) to the update.

If you're using 8.0, then you could write a PL/pgSQL function that
attempts to make the cast and traps INVALID_TEXT_REPRESENTATION.

http://www.postgresql.org/docs/8.0/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Roman Neuhauser 2005-07-23 12:30:35 Re: testing castability of VARCHAR data to INET/CIDR
Previous Message Roman Neuhauser 2005-07-23 09:31:23 testing castability of VARCHAR data to INET/CIDR