首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL Server 日期格式化完全手冊:CONVERT 函數 30+ 格式代碼速查表

     編輯:MySQL 資料庫相關知識

核心函數:CONVERT

CONVERT(data_type[(length)], expression[, style])
  • style:日期格式代碼,決定輸出字符串格式
  • 加 100 可獲得四位年份(yyyy),如 1→101,12→112

獲取當前時間

GETDATE()  -- 返回 datetime,如 2008-05-16 10:57:46.827

完整格式代碼速查表

代碼輸出示例標準/說明
0/100May 16 2008 10:57AM默認,mon dd yyyy hh:miAM
1/10105/16/2008美國 mm/dd/yyyy
2/1022008.05.16ANSI yy.mm.dd
3/10316/05/2008英/法 dd/mm/yyyy
4/10416.05.2008德國 dd.mm.yyyy
5/10516-05-2008意大利 dd-mm-yyyy
6/10616 May 08dd mon yy
7/107May 16, 08mon dd, yy
8/10810:57:46hh:mi:ss
9/109May 16 2008 10:57:46:827AM默認+毫秒
10/11005-16-2008美國 mm-dd-yyyy
11/1112008/05/16日本 yyyy/mm/dd
12/11220080516ISO yymmdd/yyyymmdd
13/11316 May 2008 10:57:46:937歐洲默認+毫秒(24h)
14/11410:57:46:967hh:mi:ss:mmm(24h)
20/1202008-05-16 10:57:47ODBC 標準 yyyy-mm-dd hh:mi:ss
21/1212008-05-16 10:57:47.157ODBC+毫秒
1262008-05-16T10:57:49.827ISO8601 無空格
13018 ??? 1427 10:57:49:907AMHijri 科威特算法

高頻實用格式推薦

  • 標準日期時間:CONVERT(varchar, GETDATE(), 120) → 2024-01-15 14:30:45
  • 純日期:CONVERT(varchar, GETDATE(), 23) → 2024-01-15
  • 純時間:CONVERT(varchar, GETDATE(), 108) → 14:30:45
  • 文件名安全:CONVERT(varchar, GETDATE(), 112) → 20240115
  • ISO8601/API交換:CONVERT(varchar, GETDATE(), 126) → 2024-01-15T14:30:45.123

進階技巧

  • 截取日期部分:CONVERT(date, GETDATE()) 或 CAST(GETDATE() AS date)
  • 自定義格式:FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss', 'zh-CN') (SQL 2012+)
  • 兩位年份截止年份配置:sp_configure 'two digit year cutoff', 2030

避坑指南

  1. 字符串長度不足會截斷:varchar(10) 只能裝下 yyyy-mm-dd
  2. smalldatetime 精度僅到分鐘,秒/毫秒會歸零
  3. 隱式轉換依賴語言/日期格式設置,永遠顯式指定 style
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved