首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 取得當日 00:00:00 至 23:59:59 日期範圍的標準寫法與應用範例

     編輯:Oracle 資料庫基礎

核心日期運算

-- 當日 00:00:00
TO_DATE(TO_CHAR(SYSDATE, 'yyyyMMdd'), 'yyyyMMdd')

-- 當日 23:59:59(需 5 個 9)
TO_DATE(TO_CHAR(SYSDATE, 'yyyyMMdd'), 'yyyyMMdd') + 0.99999

實務查詢範例:今日訂單

SELECT * FROM TERMINAL_ORDER_HEAD
WHERE LAST_UPDATED_TIME BETWEEN
    TO_DATE(TO_CHAR(SYSDATE, 'yyyyMMdd'), 'yyyyMMdd')
AND TO_DATE(TO_CHAR(SYSDATE, 'yyyyMMdd'), 'yyyyMMdd') + 0.99999;

常用時間點速查

需求運算式
當日 16:00TO_DATE(TO_CHAR(SYSDATE,'yyyyMMdd'),'yyyyMMdd') + 18/24
隔日 00:00TO_DATE(TO_CHAR(SYSDATE,'yyyyMMdd'),'yyyyMMdd') + 24/24
昨日 00:00TO_DATE(TO_CHAR(SYSDATE-1,'yyyyMMdd'),'yyyyMMdd')
昨日 23:59:59TO_DATE(TO_CHAR(SYSDATE-1,'yyyyMMdd'),'yyyyMMdd') + 0.99999

C# 呼叫範例(參考)

// 今日造訪數
string sql = $@"SELECT COUNT(*) FROM mis.YXJC_TWEB_INFOVISITS
WHERE USER_ID = {userid}
AND VISITS_TIME >= TO_DATE(TO_CHAR(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd')
AND VISITS_TIME <= TO_DATE(TO_CHAR(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd') + 0.99999";

// 昨日造訪數
string sql = $@"SELECT COUNT(*) FROM mis.YXJC_TWEB_INFOVISITS
WHERE USER_ID = {userid}
AND VISITS_TIME >= TO_DATE(TO_CHAR(SYSDATE-1,'yyyy-MM-dd'),'yyyy-MM-dd')
AND VISITS_TIME <= TO_DATE(TO_CHAR(SYSDATE-1,'yyyy-MM-dd'),'yyyy-MM-dd') + 0.99999";

關鍵提醒

0.99999 必須為 5 個 9,少一個 9 即非 23:59:59,會造成邊界資料遺漏。

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