Re: Finding bogus dates

Поиск
Список
Период
Сортировка
От Brandon Aiken
Тема Re: Finding bogus dates
Дата
Msg-id F8E84F0F56445B4CB39E019EF67DACBA44F033@exchsrvr.winemantech.com
обсуждение исходный текст
Ответ на Finding bogus dates  (Scott Ribe <scott_ribe@killerbytes.com>)
Ответы Re: Finding bogus dates  (Scott Ribe <scott_ribe@killerbytes.com>)
Re: Finding bogus dates  (Scott Ribe <scott_ribe@killerbytes.com>)
Список pgsql-general
Add a date field to the table.

Run UPDATE "foo" SET "newDate" = to_date("oldDate","MM/DD/YYYY").

Bad dates like 02/31/2006 will be converted to sane dates.  02/31/2006
--> 03/03/2006.

Now run SELECT * FROM "foo" WHERE to_char("newDate","MM/DD/YYYY") <>
"oldDate".  If a date got changed for sanity reasons, it'll be
different.

That should get most of 'em.

--
Brandon Aiken
CS/IT Systems Engineer
-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Scott Ribe
Sent: Thursday, January 18, 2007 1:26 PM
To: pgsql-general postgresql.org
Subject: [GENERAL] Finding bogus dates

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

--
Scott Ribe
scott_ribe@killerbytes.com
http://www.killerbytes.com/
(303) 722-0567 voice



---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to majordomo@postgresql.org so that your
       message can get through to the mailing list cleanly

В списке pgsql-general по дате отправления:

Предыдущее
От: "A. Kretschmer"
Дата:
Сообщение: Re: Finding bogus dates
Следующее
От: Scott Ribe
Дата:
Сообщение: Re: Finding bogus dates