selecting for type cast failures

From: Natalie Wenz <nataliewenz(at)ebureau(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: selecting for type cast failures
Date: 2013-03-08 01:08:22
Message-ID: 50077521-C61D-4050-B13D-A73D31A7C35B@ebureau.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi!

I am working on updating some of our tables to use appropriate native data types; they were all defined as text when they were created years ago.

What I am running into, though, is there are some records that have bad data in them, where they can't be successfully converted to int, or float, or boolean, for example.

Is there a straightforward way to identify offending records?

I've been able to identify some with things like "...not similar to '(0|1)'..." for the boolean fields, and "...not similar to '[0-9]{1,}'..." for int.
Are regular expressions the best approach here or is there a better way?

Thoughts?

I've poked around on the internet and have found some people suggesting user-defined functions. I'd prefer to just use a query, since it's a one-time clean-up.

(I'm using postgres 9.2)

Thanks!
Natalie

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2013-03-08 02:25:39 Re: Replication stopped on 9.0.2 after making change to conf file
Previous Message akp geek 2013-03-08 00:28:40 Replication stopped on 9.0.2 after making change to conf file