Подтвердить что ты не робот

Тип даты без времени в Oracle

В Oracle 10g у меня возникла проблема при использовании типа DATE в моей таблице. Я просто хочу, чтобы мое поле DATE сохраняло только DATE без времени автоматически.

Там так много решений, я знаю, как использовать TO_CHAR и TO_DATE или TRUNC, но я столкнулся с тем, что я использую так много процедур для вставки или обновления данных и не имею времени обновлять их все.

Как я могу решить эту проблему?

4b9b3361

Ответ 1

Лучшим решением будет:

  • удалить все время из столбца DATE (update yourtable set yourdatecolumn = trunc(yourdatecolumn))

  • убедитесь, что все будущие даты не содержат временной части, поставив контрольное ограничение на столбец, используя check (yourdatecolumn = trunc(yourdatecolumn))

  • скорректируйте все свои инструкции INSERT и UPDATE или, если вам повезет, настройте свой API, чтобы вставлять только даты TRUNCed.

Самое простое решение:

  • (необязательно) удалите все значения из столбца DATE.

  • Создайте триггер вставки вставки или обновления базы данных до того, как установлено :new.yourdatecolumn := trunc(:new.yourdatecolumn);

Ответ 2

Я так использую

insert: Insert into table (name_date) values(to_date(current_date,'dd/mm/yyyy')); обновление: update table set name_date=to_date(current_date,'dd/mm/yyyy') where id=1;

что все...