On 03/07/2013 05:08 PM, Natalie Wenz wrote:
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?

My opinion, it would take more time to concoct regexes that cover all the corner cases than to write a script that walks the through the data , finds the problem data and flags them.


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.

Again, most 'one time' things I have done turned out not to be:)


(I'm using postgres 9.2)


Thanks!
Natalie



--
Adrian Klaver
adrian.kla...@gmail.com


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to