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

SQL Server CONVERT 函數格式化日期時間完全指南:樣式代碼對照表與實戰技巧

     編輯:關於SqlServer

核心語法

CONVERT(data_type(length), expression, style)
  • data_type:目標類型,日期格式化常用 VARCHAR/NVARCHAR
  • length:足夠容納輸出長度(如 10 容納 yyyy-MM-dd,19 容納 yyyy-MM-dd HH:mm:ss)
  • style:預定義格式代碼,決定輸出樣式

常用樣式代碼速查表

Style輸出示例說明標準
100Mon DD YYYY HH:MIAM默認含毫秒
101MM/DD/YYYY美國
102YYYY.MM.DDANSI
103DD/MM/YYYY英國/法國
104DD.MM.YYYY德國
105DD-MM-YYYY意大利
106DD MON YYYY
107Mon DD, YYYY
108HH:MI:SS僅時間
110MM-DD-YYYY美國
111YYYY/MM/DD日本
112YYYYMMDDISO 無分隔
120YYYY-MM-DD HH:MI:SS(24h)ODBC 標準✓
121YYYY-MM-DD HH:MI:SS.mmmODBC 毫秒✓
126YYYY-MM-DDTHH:MI:SS.mmmISO8601✓
127YYYY-MM-DDTHH:MI:SS.mmmZISO8601 UTC✓

實戰常用模式

-- 僅日期
SELECT CONVERT(VARCHAR(10), GETDATE(), 120);  -- 2024-01-15
SELECT CONVERT(VARCHAR(10), GETDATE(), 111);  -- 2024/01/15

-- 僅時間
SELECT CONVERT(VARCHAR(8), GETDATE(), 108);   -- 14:30:05

-- 完整日期時間
SELECT CONVERT(VARCHAR(19), GETDATE(), 120);  -- 2024-01-15 14:30:05
SELECT CONVERT(VARCHAR(23), GETDATE(), 121);  -- 2024-01-15 14:30:05.123

-- 中文格式
SELECT FORMAT(GETDATE(), 'yyyy年MM月dd日 HH:mm:ss', 'zh-CN'); -- SQL 2012+

避坑指南

  • VARCHAR(10) 截斷風險:Style 120 需 19 字符,長度不足會靜默截斷
  • 語言環境影響 Style 0/100/9/109 等月份名稱輸出
  • SQL 2012+ 首選 FORMAT(),支援 .NET 自定義格式字串,文化相關更強

CONVERT 樣式代碼對照表

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