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

SQL Server 常用日期時間函數完整速查表

     編輯:關於SqlServer

前言

SQL Server 開發中頻繁處理日期時間轉換,格式代碼眾多難以記憶。本文整理常用日期時間函數與 CONVERT 格式代碼對照表,供快速查閱參考。

預設格式與常用自訂格式

中文版預設 datetime 格式:yyyy-mm-dd hh:mm:ss.mmm

短/長日期格式範例

-- 短日期:yyyy-m-d
SELECT REPLACE(CONVERT(varchar(10), GETDATE(), 120), '-0', '-')

-- 長日期:yyyy年mm月dd日
SELECT STUFF(STUFF(CONVERT(char(8), GETDATE(), 112), 5, 0, N'年'), 8, 0, N'月') + N'日'

-- 短日期:yyyy年m月d日
SELECT DATENAME(Year, GETDATE()) + N'年' + CAST(DATEPART(Month, GETDATE()) AS varchar) + N'月' + DATENAME(Day, GETDATE()) + N'日'

-- 完整日期時間:yyyy-mm-dd hh:mi:ss:mmm
SELECT CONVERT(char(11), GETDATE(), 120) + CONVERT(char(12), GETDATE(), 114)

CONVERT 格式代碼完整對照表

語法:CONVERT(varchar(100), GETDATE(), style),可依 varchar 長度截取所需部分。

Style輸出範例說明
0 / 10005 16 2006 10:57AM預設 mon dd yyyy hh:miAM/PM
1 / 10105/16/06 / 05/16/2006美國 mm/dd/yy / mm/dd/yyyy
2 / 10206.05.16 / 2006.05.16ANSI yy.mm.dd / yyyy.mm.dd
3 / 10316/05/06 / 16/05/2006英/法 dd/mm/yy / dd/mm/yyyy
4 / 10416.05.06 / 16.05.2006德 dd.mm.yy / dd.mm.yyyy
5 / 10516-05-06 / 16-05-2006義 dd-mm-yy / dd-mm-yyyy
6 / 10616 05 06 / 16 05 2006dd mon yy / dd mon yyyy
7 / 10705 16, 06 / 05 16, 2006mon dd, yy / mon dd, yyyy
8 / 10810:57:46hh:mm:ss
9 / 10905 16 2006 10:57:46:827AM預設+毫秒 mon dd yyyy hh:mi:ss:mmmAM/PM
10 / 11005-16-06 / 05-16-2006美國 mm-dd-yy / mm-dd-yyyy
11 / 11106/05/16 / 2006/05/16日 yy/mm/dd / yyyy/mm/dd
12 / 112060516 / 20060516ISO yymmdd / yyyymmdd
13 / 11316 05 2006 10:57:46:937歐洲預設+毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 / 11410:57:46:967hh:mi:ss:mmm(24h)
20 / 1202006-05-16 10:57:47ODBC 標準 yyyy-mm-dd hh:mi:ss
21 / 1212006-05-16 10:57:47.157ODBC 標準+毫秒 yyyy-mm-dd hh:mi:ss.mmm
2205/16/06 10:57:47 AM美國+時間
232006-05-16ISO 日期 yyyy-mm-dd
2410:57:47ISO 時間 hh:mi:ss
252006-05-16 10:57:47.250ISO 日期時間+毫秒
1262006-05-16T10:57:49.827ISO8601 yyyy-mm-ddThh:mm:ss.mmm
13018 ???? ?????? 1427 10:57:49:907AM科威特希吉拉曆
13118/04/1427 10:57:49:920AM科威特希吉拉曆 dd/mm/yy

實用技巧

  • 需純數字時間戳:REPLACE(REPLACE(REPLACE(CONVERT(varchar, GETDATE(), 120), '-', ''), ' ', ''), ':', '') → 20040912110608
  • 常用日期格式速查:111(yyyy/mm/dd)、112(yyyymmdd)、120(yyyy-mm-dd hh:mi:ss)、121(含毫秒)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved