TO_DATE

SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
會話已更改。
SQL> SELECT TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
TO_DATE('2006-05-01
-------------------
2006-05-01 19:25:34
SQL> SELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD HH24:MI') FROM DUAL;
TO_DATE('2006-05-01
-------------------
2006-05-01 19:25:00
SQL> SELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD HH24') FROM DUAL;
TO_DATE('2006-05-01
-------------------
2006-05-01 19:00:00
SQL> SELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUAL;
TO_DATE('2006-05-01
-------------------
2006-05-01 00:00:00
SQL> SELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUAL;
TO_DATE('2006-05','
-------------------
2006-05-01 00:00:00
SQL> SELECT TO_DATE('2006', 'YYYY') FROM DUAL;
TO_DATE('2006','YYY
-------------------
2006-05-01 00:00:00
當省略HH、MI和SS對應的輸入參數時,Oracle使用0做爲DEFAULT值。若是輸入的日期數據忽略時間部分,Oracle會將時、分、秒部分都置爲0,也就是說會取整到日。
一樣,忽略了DD參數,Oracle會採用1做爲日的默認值,也就是說會取整到月。
可是,不要被這種「慣性」所迷惑,若是忽略MM參數,Oracle並不會取整到年,取整到當前月。
本站公眾號
   歡迎關注本站公眾號,獲取更多信息