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

SQL Server 日期時間轉字串格式化完整速查表:CONVERT 130+ 風格代碼對照

     編輯:關於SqlServer

核心函數

CONVERT(VARCHAR(100), GETDATE(), style)
-- style 決定輸出格式,以下為完整對照 (基準 2006-05-16 10:57:49.123)

完整 Style 代碼對照表

Style輸出範例描述標準
0 / 100May 16 2006 10:57AM預設-
1 / 10105/16/2006美國mm/dd/yyyy
2 / 1022006.05.16ANSIyyyy.mm.dd
3 / 10316/05/2006英國/法國dd/mm/yyyy
4 / 10416.05.2006德國dd.mm.yyyy
5 / 10516-05-2006義大利dd-mm-yyyy
6 / 10616 May 2006-dd mon yyyy
7 / 107May 16, 2006-mon dd, yyyy
8 / 10810:57:49時間hh:mi:ss
9 / 109May 16 2006 10:57:49:123AM預設+毫秒-
10 / 11005-16-2006美國mm-dd-yyyy
11 / 1112006/05/16日本yyyy/mm/dd
12 / 11220060516ISOyyyymmdd
13 / 11316 May 2006 10:57:49:123歐洲預設+毫秒dd mon yyyy hh:mi:ss:mmm (24h)
14 / 11410:57:49:123時間+毫秒hh:mi:ss:mmm (24h)
20 / 1202006-05-16 10:57:49ODBCyyyy-mm-dd hh:mi:ss
21 / 1212006-05-16 10:57:49.123ODBC+毫秒yyyy-mm-dd hh:mi:ss.mmm
1262006-05-16T10:57:49.123ISO8601XML/JSON 標準
13018 ??? ????? 1427 10:57:49:123AMHijri (伊斯蘭曆)科威特演算法
13118/04/1427 10:57:49:123AMHijridd/mm/yyyy hh:mi:ss:mmmAM

關鍵規律與建議

  • Style ≥ 100 含世紀 (yyyy),Style < 100 兩位年 (yy) → 生產環境禁用 < 100
  • 跨系統/跨語系/日誌/JSON:統一用 120/121/126 (ISO8601 無歧義)
  • 僅需日期:CONVERT(DATE, dt) (SQL 2008+) 或 style 112/102/103/104/105
  • 僅需時間:CONVERT(TIME, dt) (SQL 2008+) 或 style 108/114
  • 截斷控制:VARCHAR(10) 只取日期部,VARCHAR(19) 含秒,VARCHAR(23) 含毫秒

反向解析:字串 → 日期

-- 明確指定 style 避免語系歧義
SELECT CONVERT(DATETIME, '2006-05-16 10:57:49', 120);  -- ODBC
SELECT CONVERT(DATETIME, '16/05/2006', 103);           -- 英式
SELECT CONVERT(DATETIME, '20060516', 112);             -- ISO 純數字
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved