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

SQL Server 日期格式化轉換:CONVERT 函數樣式代碼完整對照表

     編輯:關於SqlServer

SQL Server 使用 CONVERT 函數將日期時間轉為指定格式字串,核心在於第三個參數 style 代碼。本文整理常用樣式代碼與實用範例,方便快速查閱。

基本語法

CONVERT(target_data_type, expression, style)

常用日期樣式代碼對照表

Style輸出格式範例說明
100Mon DD YYYY HH:MIAM/PM預設含時間
101MM/DD/YYYY美式日期
102YYYY.MM.DDANSI 標準帶點
103DD/MM/YYYY英式/歐式日期
104DD.MM.YYYY德式日期
105DD-MM-YYYY義式日期
106DD MON YYYY月份縮寫
107MON DD, YYYY
108HH:MI:SS純時間
109MON DD YYYY HH:MI:SS:MMMAM/PM含毫秒
110MM-DD-YYYY
111YYYY/MM/DD日式/ISO 類似
112YYYYMMDD純數字,適合排序/檔名
113DD MON YYYY HH:MI:SS:MMM歐洲預設含毫秒
120YYYY-MM-DD HH:MI:SSISO 8601 24小時制
121YYYY-MM-DD HH:MI:SS.MMMISO 8601 含毫秒
126YYYY-MM-DDTHH:MI:SS.MMMISO 8601 T 分隔
127YYYY-MM-DDTHH:MI:SS.MMMZISO 8601 UTC
130DD MON YYYY HH:MI:SS:MMMAM/PM回曆
131DD/MM/YYYY HH:MI:SS:MMMAM/PM回曆

實用範例

取得年月 (YYYYMM)

SELECT CONVERT(char(6), GETDATE(), 112);  -- 202412

WHERE 條件比對日期(忽略時間)

SELECT * FROM Orders
WHERE CONVERT(date, OrderDate) = '2023-12-15';
-- 或舊版相容
WHERE CONVERT(varchar(10), OrderDate, 120) = '2023-12-15';

格式化顯示

SELECT CONVERT(varchar(10), GETDATE(), 120) AS ISO_Date;     -- 2024-12-15
SELECT CONVERT(varchar(19), GETDATE(), 120) AS ISO_DateTime; -- 2024-12-15 14:30:00

進階:FORMAT 函數 (SQL Server 2012+)

更靈活、支援 .NET 格式字串,但效能較 CONVERT 低:

SELECT FORMAT(GETDATE(), 'yyyy-MM-dd', 'zh-TW');   -- 2024-12-15
SELECT FORMAT(GETDATE(), 'yyyy年MM月dd日', 'zh-TW'); -- 2024年12月15日

效能建議

  • 大量資料篩選時,避免在 WHERE 欄位上使用 CONVERT/FORMAT,導致索引失效。改用範圍查詢:OrderDate >= '2023-12-15' AND OrderDate < '2023-12-16'。
  • 僅於 SELECT 輸出或報表格式化時使用 CONVERT。
  • style 112 (YYYYMMDD) 與 120 (YYYY-MM-DD) 最常用於匯出檔名、日誌前綴與標準化交換格式。

掌握 CONVERT 樣式代碼,能精準控制日期時間輸出格式,滿足報表、匯出、介接等多樣需求。

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