Re: [Ora] Парсинг строки в дату
От: TMU Россия  
Дата: 21.03.07 12:53
Оценка:
П>Задача такая. В базу из текстового файла грузятся данные. Надо проверить являются ли эти данные датой. Дело в том, что формат входных данных заранее не известен. Это может быть 31.12.2007 или 12.31.2007, или 31 Дек 2007, или Дек 31 2007, а может и вообще датой не быть. При чем как выгружали данные в файл — неизвестно. Форматы могут чередоваться. как лучше поступить?

П>Я делаю так:


П>[sql]

П>DECLARE
П> date_variable VARCHAR2 (100) := TO_CHAR (SYSDATE, 'mm dd yyyy');


П>Но это естественно не выход, т.к. формат по умолчанию в базе.


Хотел написать что-нибудь умное и универсальное, но что-то в голову не приходит, може люи поумнее подскажут. Я бы сделал (собственно и делаю, тоже прихоится загружать подобное, но у меня только три варианта формата даты, так что проще) последовательные попытки преобразования строки в дату с разными форматами. То есть в обработчике exception опять to_date, но с другой маской и так далее.
Вполне возможно, есть и более красивый и универсальный путь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.