2013-10-10 5 views
0

Я импортирую CSV-файл данных и сохраняю его в таблице Oracle. Есть ли предопределенная функция PL/SQL для проверки того, является ли данное значение датой или нет?Как проверить, является ли данное значение датой или нет

Если нет, как подтвердить, чтобы подтвердить, что это дата?

+0

возможно дубликат [ «Буквальное не соответствует строка формата» при сравнении двух полей даты] (http://stackoverflow.com/questions/10339047/literal-do-not-match-format-string-when-comparing-two-date-fields) – Ben

ответ

0

Вы можете использовать функцию to_date(), чтобы проверить, имеет ли значение ваше значение. Хотя Oracle не позволит вам хранить столбцы типа даты без даты в столбце даты.

Вот простой пример того, как проверить, если какой-то значение дата:

Declare 
    v_data Clob := 'sdf'; 
    v_date Date; 
begin 
    v_date := to_date(v_data); 
    exception When others Then 
    dbms_output.put_line(v_data||' Is not a date'); 
end; 
+1

Проблема в том, что если вы не укажете формат модели даты, она будет взята из NLS_DATE_FORMAT, поэтому вы будете знать только, есть ли входная строка в этом формате или нет. –

+0

Я согласен, хотя @Duleep не дал никаких данных, и я предположил, что его поля даты файла csv будут одинакового формата, и в этом случае вы можете легко добавить параметр формата в to_date funcion. – CrazySabbath

+0

True :) было бы трудно сказать, если что-то является датой, когда вы не знаете формат модели. Надеюсь, автор не должен этого делать! Приветствия. –

Смежные вопросы