Oracle:SYSDATEで日付のみ取得するには?

OracleのSYSDATE関数で日付部分のみ取得するには?


方法

"TRUNC(SYSDATE)" を使う。
SELECT TRUNC(SYSDATE) FROM DUAL
既定では時刻部分が切り捨てられるが、切り捨ての要素を指定することも可能。
要素は "YYYY", "MM", "DD", "HH, "MI" から指定可能で、
それぞれ "年"、"月"、"日"、"時"、"分" を表す。
例えば、時刻まで残し、分・秒を切り捨てたい場合は、こんな感じ。
SQL> SELECT TO_CHAR(TRUNC(SYSDATE,'HH'), 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
TO_CHAR(TRUNC(SYSDATE,'HI'),'YYYY-MM-D
--------------------------------------
2021-06-04 05:00:00

これまでこの使い方を知らず、 "TO_DATE(SYSDATE,'YYYY-MM-DD')" みたいにやってた。


Oracle

0 件のコメント:

その他の記事