Вопрос по date – Тип даты без времени в Oracle

17

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

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

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

лично я все еще использую тип даты и сбрасываю время на 0. ericosg
Я думаю, что Роб ван Вейк хорошо ответил ericosg
@ericosg как вы можете сбросить время на 0? Hieu Nguyen Trung
Я думаю, что эта проблема должна быть проработана. Это становится реальной проблемой, чтобы не иметьJUST_DATE тип данных, когда вы хотите установить ПК наDATE колонка под вопросом. Если вы хотите, чтобы ваша таблица содержала только одну запись на дату, то вы должны либо убедиться, что данные чисты, прежде чемINSERT (то есть вы должны запрограммировать его в своем API), или вам нужно применить ограничение к вашему столбцу, как описано @ Rob-van-wijk в его (первом) пункте 2. cartbeforehorse

Ваш Ответ

3   ответа
-4

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

вставить: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;

это все ...

0

в вашу таблицу, просто выберите столбец даты с помощью TRUNC.

Например,

select * from test_table
where TRUNC(insert_date) = to_date('19.02.2019','dd.mm.YYYY')
25

remove all times from your DATE column (update yourtable set yourdatecolumn = trunc(yourdatecolumn))

ensure that all future dates contain no time part by placing a check constraint on the column by using check (yourdatecolumn = trunc(yourdatecolumn))

adjust all your INSERT and UPDATE statements or -if you're lucky- adjust your API, to only insert TRUNCed dates.

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

(Optionally) remove all times from your DATE column.

Create a before row insert or update database trigger that sets :new.yourdatecolumn := trunc(:new.yourdatecolumn);

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Hieu Nguyen Trung
Error: User Rate Limit Exceeded

Похожие вопросы