OracleのSYSDATE関数で日付部分のみ取得するには?
方法
"TRUNC(SYSDATE)" を使う。
要素は "YYYY", "MM", "DD", "HH, "MI" から指定可能で、
それぞれ "年"、"月"、"日"、"時"、"分" を表す。
例えば、時刻まで残し、分・秒を切り捨てたい場合は、こんな感じ。
これまでこの使い方を知らず、 "TO_DATE(SYSDATE,'YYYY-MM-DD')" みたいにやってた。
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 件のコメント:
コメントを投稿