sysdateから年月日のみ取得するには、sysdateをTRUNCします。
サンプル
例)年月日のみのsysdateを取得する
1 |
SELECT trunc(sysdate) FROM dual; |
- 実行例
- SQL> SELECT to_date(trunc(sysdate), 'yyyy/mm/dd hh24:mi:ss') AS YMD FROM dual; YMD -------------------- 2017/10/31 00:00:00
時分秒は切り捨てられてゼロとなっています。
切り捨てる単位を指定することも可能です。
例)2017年11月15日に以下のTRUNCを実行する
1 2 3 4 5 6 7 8 9 10 11 |
--年で切り捨てる SELECT trunc(sysdate, 'yyyy') FROM dual; ⇒ 2017/01/01 --月で切り捨てる SELECT trunc(sysdate, 'mm') FROM dual; ⇒ 2017/11/01 --日で切り捨てる SELECT trunc(sysdate, 'dd') FROM dual; ⇒ 2017/11/15 ※trunc(sysdate)と同じ |
解説
- Date型をtruncすると、指定した単位で切り捨てられます。
(単位未指定時は、時分秒が切り捨てられる) - TIMESTAMP型も同様にTRUNCできます。