首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Oracle SQL 日期加減運算:CREATE_TIME 加 7 天的寫法

     編輯:程式設計綜合問答

需求

在 WHERE 條件中判斷 CREATE_TIME 是否在「目前時間」與「目前時間 + 7 天」之間。

標準寫法

SELECT c.*
FROM crm_order_taobao_opt_history c
WHERE c.CREATE_TIME < SYSDATE
  AND SYSDATE < c.CREATE_TIME + 7
  AND c.order_sn LIKE 'TB%'
  AND c.opt_status = 12
  AND NOT EXISTS (
      SELECT 1 FROM crm_order_taobao_opt_history o
      WHERE c.order_sn = o.order_sn AND o.opt_status = 13
  )
  AND ( ...其他條件... );

說明

  • Oracle 中 DATE 型別直接 + 數字 即為加天數(SYSDATE + 7 代表 7 天后)。
  • 若欄位為 VARCHAR2 儲存日期字串,需先 TO_DATE 轉換:
    TO_DATE(create_time, 'YYYY-MM-DD HH24:MI:SS') + 7。
  • SYSDATE 回傳資料庫伺服器當前日期時間,無需加引號。

範例

SELECT TO_DATE('2004-05-07 13:23:44','YYYY-MM-DD HH24:MI:SS') + 7 FROM dual;
-- 回傳 2004-05-14 13:23:44
  1. 上一篇文章:
  2. 下一篇文章:
VS2012 MFC sprintf 編譯錯誤 C4996:改用 sprintf_s 或定義 _CRT_SECURE_NO_WARNINGS HTML 嵌入樣式表: