Re: Finding bogus dates - Mailing list pgsql-general

From Tomas Vondra
Subject Re: Finding bogus dates
Date
Msg-id 45AFC522.7010803@fuzzy.cz
Whole thread Raw
In response to Finding bogus dates  (Scott Ribe <scott_ribe@killerbytes.com>)
List pgsql-general
> Suppose that I have a varchar column which contains dates, and some of them
> are bogus, such as '1968-02-31'. Is it possible to specify a query condition
> "cannot be cast to a valid date". (It's legacy data, and I'm trying to clean
> it up before importing into the final schema.) There probably aren't that
> many, and I can just keep hitting pg errors one row at a time until I work
> through this, but...

I guess you can use something like this procedure:

 create or replace function is_date(d varchar) returns boolean as $$
 declare
   tmp date;
 begin
   tmp := d::date;
   return true;
 exception
   when others then
     return false;
 end;
 $$ language plpgsql;

pgsql-general by date:

Previous
From: Arindam
Date:
Subject: pg_passwd alternative in Postgres 8.1.5
Next
From: Scott Ribe
Date:
Subject: Re: Finding bogus dates