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

Oracle TRUNC 函數用法補充:日期截斷篇

     編輯:Oracle 教學

Oracle TRUNC 函數用法補充:日期截斷篇

TRUNC (日期)

依格式模型截斷日期,保留較大單位,較小單位歸零 (時→00, 分→00, 秒→00)。

語法: TRUNC(date [, fmt])

  • date:日期值
  • fmt:格式模型 (可選),省略則截至「日」(午夜 00:00:00)

範例

TRUNC(TO_DATE('24-Nov-1999 08:00 pm'), 'dd-mon-yyyy hh:mi am')
-- = '24-Nov-1999 12:00:00 am'  (截至日)

TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'), 'hh')
-- = '24-Nov-1999 08:00:00 am'  (截至時)

TRUNC(SYSDATE, 'yyyy')  -- 當年 1 月 1 日 00:00:00
TRUNC(SYSDATE, 'mm')    -- 當月 1 日 00:00:00
TRUNC(SYSDATE, 'd')     -- 本週第一天 (週日) 00:00:00
TRUNC(SYSDATE, 'dd')    -- 當天 00:00:00 (同無 fmt)

常用格式模型速查

fmt截斷至結果範例 (假設 2024-03-15 14:30:45)
YYYY / YEAR年首2024-01-01 00:00:00
MM / MONTH月首2024-03-01 00:00:00
DD / DAY日/週首2024-03-15 00:00:00 / 2024-03-10 00:00:00
HH / HH24時2024-03-15 14:00:00
MI分2024-03-15 14:30:00

核心特性

  • 回傳型別仍為 DATE,可直接參與日期運算
  • TRUNC(date) 是「去時分秒」最佳寫法,優於 TO_DATE(TO_CHAR(...))
  • 配合 MONTHS_BETWEEN 做月份差比對時,必須先 TRUNC 統一精度
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved