> 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;