生成沒有時間元件的日期

所有 DATE 都有時間成分; 然而,習慣上儲存不需要包括時間資訊的日期,其中小時/分鐘/秒設定為零(即午夜)。

使用 ANSI DATE 文字 (使用 ISO 8601 日期格式 ):

SELECT DATE '2000-01-01' FROM DUAL;

使用 TO_DATE() 從字串文字轉換它 :

SELECT TO_DATE( '2001-01-01', 'YYYY-MM-DD' ) FROM DUAL;

(有關日期格式模型的更多資訊,請參閱 Oracle 文件。)

要麼:

SELECT TO_DATE(
         'January 1, 2000, 00:00 A.M.',
         'Month dd, YYYY, HH12:MI A.M.',
         'NLS_DATE_LANGUAGE = American'
       )
FROM   DUAL;

(如果要轉換特定於語言的術語,例如月份名稱,那麼最好將第 3 個 nlsparam 引數包含在 TO_DATE() 函式中並指定預期的語言。)