Search Postgresql Archives

Re: More PostgreSQL conversion fun

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




I have a varchar field in a table which contains dates in yyyy-mm-dd format. The problem is that some have entered invalid dates like 1975-01-00 and I want to convert it to a date field to avoid this nonsense. Is there a way to test for failure of a type conversion and insert a NULL on failure?

Hi,
If you are using 8.0 or above you could write a plpgsql function and use a for select loop with a exception handler. In the loop try casting the column in question to date type and if a error is raised because of a invalid date set the column value to null.

See this section in the docs:
http://www.postgresql.org/docs/8.1/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

After you have cleaned up the bad dates, then change the column to a date type.

Note: I have not tested this, but I think it should work :-)

Later,


--
Tony Caduto
AM Software Design
Home of PG Lightning Admin for Postgresql
http://www.amsoftwaredesign.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux