2013-09-24 3 views
0

У меня есть одно поле в моей базе данных типа DATE. Я хочу сохранить дату и время или только дату. Проблема заключается в том, как проверить, что мой столбец DATE содержит дату и время или только дату.
Тест на существование временной части в DATE данных типа

v_date DATE;
v_date: = to_date ('01 -01-2013 ',' DD-MM-YYYY ');
v_text: = to_char (v_date, 'HH24: Mi');

to_char ('HH24: Mi') только для даты возвращается '00: 00 ', а не null.
Есть ли способ проверить, что столбец «Дата» содержит дату и время или только дату.

ответ

4

Тип данных DATE всегда содержит дату и Время.

И это просто плохой идеал, чтобы хранить время и дату отдельно. Вы можете просто протестировать столбец DATE, что бы вы ни хотели о части времени.

Например, чтобы проверить, если столбец в полночь вы можете использовать:

if trunc(your_column) = your_column 
then blabla; 
end if; 

и использовать <> вместо = для иначе.

+1

DATE всегда содержит временную часть. Если вам нужно сохранить только часть Date, просто напишите trunc (column_name). И прочитайте trunc (column_name). Время будет 00:00. И вы получите выгоду от скорости DATATATE. –

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