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

SQL Server 日期轉換格式大全:CONVERT 風格代碼完整對照表

     編輯:關於SqlServer

常用查詢範例

-- 依特定日期格式查詢
SELECT * FROM 表名 WHERE CONVERT(VARCHAR(10), 日期欄位, 23) = '2008-12-15';
-- 風格 23 = 'YYYY-MM-DD' (ISO 8601)

CONVERT 風格代碼完整表 (GETDATE() 為 2006-05-16 10:57:46.827)

代碼輸出範例說明
0 / 100May 16 2006 10:57AM預設 mon dd yyyy hh:miAM/PM
105/16/06美式 mm/dd/yy
206.05.16yy.mm.dd
316/05/06英式 dd/mm/yy
416.05.06dd.mm.yy
516-05-06dd-mm-yy
616 05 06dd mon yy
7May 16, 06mon dd, yy
8 / 10810:57:46hh:mi:ss
9 / 109May 16 2006 10:57:46:827AM預設 + 毫秒
1005-16-06mm-dd-yy
1106/05/16yy/mm/dd
12060516yymmdd
13 / 11316 May 2006 10:57:46:937歐洲預設 + 毫秒
14 / 11410:57:46:967hh:mi:ss:mmm
20 / 1202006-05-16 10:57:47YYYY-MM-DD hh:mi:ss (24h)
21 / 1212006-05-16 10:57:47.157YYYY-MM-DD hh:mi:ss.mmm
2205/16/06 10:57:47 AM美式 + 時間
232006-05-16ISO 8601 日期
2410:57:47hh:mi:ss
252006-05-16 10:57:47.250YYYY-MM-DD hh:mi:ss.mmm
10105/16/2006mm/dd/yyyy
1022006.05.16yyyy.mm.dd
10316/05/2006dd/mm/yyyy
10416.05.2006dd.mm.yyyy
10516-05-2006dd-mm-yyyy
10616 May 2006dd mon yyyy
107May 16, 2006mon dd, yyyy
11005-16-2006mm-dd-yyyy
1112006/05/16yyyy/mm/dd
11220060516yyyymmdd (適合排序/檔名)
1262006-05-16T10:57:49.827ISO 8601 含 T 分隔
13018 ??? ???? 1427 10:57:49:907AM回曆 (Hijri)
13118/04/1427 10:57:49:920AM回曆 dd/mm/yyyy

實務建議

  • 資料交換/匯出:優先使用 126 (ISO 8601) 或 23/112,無歧義且可排序。
  • 中文報表:CONVERT(VARCHAR, GETDATE(), 111) → 2006/05/16 符合習慣。
  • 避免在 WHERE 條件對欄位用 CONVERT(導致索引失效),改用範圍查詢:
    WHERE 日期欄位 >= '2008-12-15' AND 日期欄位 < '2008-12-16'
  • SQL Server 2012+ 建議改用 FORMAT 或 TRY_CONVERT,功能更強、型別安全。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved