From: | Adrian Klaver <adrian(dot)klaver(at)gmail(dot)com> |
---|---|
To: | Natalie Wenz <nataliewenz(at)ebureau(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: selecting for type cast failures |
Date: | 2013-03-08 03:40:47 |
Message-ID: | 51395DBF.2050706@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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(dot)klaver(at)gmail(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | David Johnston | 2013-03-08 04:56:29 | Re: selecting for type cast failures |
Previous Message | Guy Rouillier | 2013-03-08 03:33:44 | Re: selecting for type cast failures |