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

SQL 日期時間函數完整參考手冊

     編輯:關於SqlServer

SQL Server 日期時間函數核心功能

日期時間處理是資料庫開發中最常見的需求之一。SQL Server 提供了豐富的內建函數,支援日期運算、格式化、元件提取等操作。

核心日期函數對照表

函數名稱 語法 功能說明
GETDATE GETDATE() 返回系統當前日期和時間 (datetime 型別)
DATEADD DATEADD(datepart, number, date) 在指定日期上加減時間間隔,返回 datetime 或 smalldatetime 型別
DATEDIFF DATEDIFF(datepart, date1, date2) 計算兩個日期之間的時間間隔,單位由 datepart 指定
DATENAME DATENAME(datepart, date) 返回日期指定部分對應的字串值(如月份名稱、星期名稱)
DATEPART DATEPART(datepart, date) 返回日期指定部分對應的整數值

常用 datepart 參數值

  • year, yy, yyyy — 年
  • quarter, qq, q — 季
  • month, mm, m — 月
  • dayofyear, dy, y — 年內天數
  • day, dd, d — 日
  • week, wk, ww — 週
  • weekday, dw — 星期
  • hour, hh — 時
  • minute, mi, n — 分
  • second, ss, s — 秒
  • millisecond, ms — 毫秒

實用範例

日期加減運算

-- 當前日期加 30 天
SELECT DATEADD(day, 30, GETDATE())

-- 當前日期減 6 個月
SELECT DATEADD(month, -6, GETDATE())

計算日期差異

-- 計算兩日期相差天數
SELECT DATEDIFF(day, '2024-01-01', GETDATE())

-- 計算年齡(以年為單位)
SELECT DATEDIFF(year, '1990-05-15', GETDATE())

提取日期元件

-- 取得月份名稱(字串)
SELECT DATENAME(month, GETDATE())  -- 如:January

-- 取得月份編號(整數)
SELECT DATEPART(month, GETDATE())  -- 如:1

DATENAME vs DATEPART 關鍵差異

DATENAME 返回字串格式(如 "January"、"Monday"),適合顯示給使用者;DATEPART 返回整數(如 1、2),適合邏輯判斷與運算。

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