1 日の最後の 1 秒などを日付に追加することはできますか?
異なる時刻の日付があり、すべての日付を 23:59:59 に設定する必要があるとしましょう...
出来ますか?
ありがとう
@a_horse_with_no_name によって提案された解決策が遅いことが判明した場合は、次の方法で実行できるはずです。
+1 日 -1 秒は、文字列連結なしで、その結果を取得するために従うロジックです。
SELECT trunc(SYSDATE) + 1 - (INTERVAL '1' SECOND) FROM DUAL
UPDATEに翻訳
UPDATE MY_TABLE
SET MY_DATE_COLUMN = trunc(MY_DATE_COLUMN) + 1 - (INTERVAL '1' SECOND)
ただし、保守性はソフトウェアを作成する上で非常に重要であり、これを読むことは、提案されている他のソリューションよりもはるかに難しいことに注意してください。
update the_table
set the_date_column = to_date(to_char(the_date_column, 'yyyy-mm-dd')||' 23:59:59', 'yyyy-mm-dd hh24:mi:ss');
はい。データ列には、秒の値を持つタイムスタンプを含む日付値を格納できます。このように使用してください -
insert into tab_name
(dt)
values
(to_date('20/09/2013 17:50:50', 'DD/MM/YYYY HH24:MI:SS'));