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

SQL Server DATETIME 處理大全:GETDATE、CONVERT 格式、DATEPART 擷取

     編輯:關於SqlServer

取得目前日期時間

GETDATE()  -- 精度 3.33 ms
-- 作為欄位預設值
CREATE TABLE Log (..., LogTime DATETIME DEFAULT GETDATE())

CONVERT 格式化輸出 (常用樣式代碼)

代碼標準輸出範例
0預設Mon DD YYYY HH:MIAM
1美國MM/DD/YY
3英/法DD/MM/YY
4德DD.MM.YY
5義DD-MM-YY
8HH:MI:SS
9預設+毫秒Mon DD YYYY HH:MI:SS:MMMAM
10美國MM-DD-YY
11日本YY/MM/DD
12ISOYYMMDD
13歐洲+毫秒DD Mon YYYY HH:MI:SS:MMM (24h)
14HH:MI:SS:MMM (24h)
20/21ODBC 標準YYYY-MM-DD HH:MI:SS[.MMM]
120/121ODBC 標準YYYY-MM-DD HH:MI:SS[.MMM]

加 100 顯示四位年 (如 111 → 2011)。

範例

SELECT CONVERT(VARCHAR(30), GETDATE(), 9)   -- Nov 30 1997 3:29:55:170AM
SELECT CONVERT(VARCHAR(10), GETDATE(), 111) -- 1997/11/30

DATEPART 擷取單一部分

DATEPART(year, 日期)   -- 年
DATEPART(month, 日期)  -- 月
DATEPART(day, 日期)    -- 日
DATEPART(hour, 日期)   -- 時
DATEPART(minute, 日期) -- 分
DATEPART(second, 日期) -- 秒
DATEPART(weekday, 日期) -- 週幾 (1=星期日)
DATEPART(week, 日期)   -- 年內第幾週

實用查詢範例

-- 本月資料
SELECT * FROM 表 WHERE DATEPART(month, 時間) = DATEPART(month, GETDATE())
  AND DATEPART(year, 時間) = DATEPART(year, GETDATE())

-- 今日資料 (SARGable 寫法)
SELECT * FROM 表 WHERE 時間 >= CONVERT(DATE, GETDATE())
  AND 時間 < DATEADD(day, 1, CONVERT(DATE, GETDATE()))
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved