首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle DATE 類型比較大小實戰:TO_DATE 格式化、NLS_DATE_FORMAT 會話參數影響與避坑指南

     編輯:Oracle 資料庫相關知識

PL/SQL 日期比較範例

DECLARE
  i INTEGER;
  v_date1 DATE;
  v_date2 DATE;
BEGIN
  v_date1 := SYSDATE;
  v_date2 := TO_DATE('2008-09-08');
  IF v_date1 > v_date2 THEN
    DBMS_OUTPUT.PUT_LINE('if');
  ELSE
    DBMS_OUTPUT.PUT_LINE('else');
  END IF;
END;

關鍵技術點

  • SYSDATE 回傳當前日期時間
  • TO_DATE 將字串依格式轉為 DATE
  • 日期類型可直接用 >、<、= 比較大小
  • 字串轉日期必須格式匹配,否則報錯

常見格式模板

  • 'YYYY-MM-DD'(如 '2008-09-08')
  • 'DD-MON-RR' / 'DD-MON-RRRR'(如 '08-SEP-08')

NLS_DATE_FORMAT 陷阱

若未指定 TO_DATE 格式,隱含轉換依賴會話參數 NLS_DATE_FORMAT。不同環境參數不同,導致同樣代碼在開發/測試/生產表現不一。最佳實踐:永遠顯式指定 TO_DATE 格式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved