SQL SERVER中时间格式的全部样式

 

SQL SERVER中时间格式的全部样式

 

 

CONVERT(data_type,expression[,style]) 
convert(varchar(10),字段名,转换格式)

说明:
此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
相互转换的时候才用到.

 

-----------------------------------------------------------------------------------------------------------------------------------

 样式

(常用样式标记了颜色)

样例

(以2011年5月16日9:57:08为例)

说明
SELECT CONVERT(varchar(100), GETDATE(), 0)

05 16 2011 9:57AM
May 16 2024  2:39PM

MM DD YYYY H:MPM

SELECT CONVERT(varchar(100), GETDATE(), 1) 05/16/11 MM/DD/YY
SELECT CONVERT(varchar(100), GETDATE(), 2) 11.05.16 YY.MM.DD
SELECT CONVERT(varchar(100), GETDATE(), 3) 16/05/11 DD/MM/YY
SELECT CONVERT(varchar(100), GETDATE(), 4) 16.05.11  DD.MM.YY
SELECT CONVERT(varchar(100), GETDATE(), 5) 16-05-11   DD-MM-YY
SELECT CONVERT(varchar(100), GETDATE(), 6) 16 05 11   DD MM YY
SELECT CONVERT(varchar(100), GETDATE(), 7) 05 16, 11   MM DD, YY
SELECT CONVERT(varchar(100), GETDATE(), 8) 09:57:08  HH:MM:SS
SELECT CONVERT(varchar(100), GETDATE(), 9) 05 16 2011 9:57:08:827AM MM DD YYYY H:MM:SS.fffPM
SELECT CONVERT(varchar(100), GETDATE(), 10) 05-16-11   MM-DD-YY
SELECT CONVERT(varchar(100), GETDATE(), 11) 11/05/16  YY/MM/DD
SELECT CONVERT(varchar(100), GETDATE(), 12) 110516  YYMMDD
SELECT CONVERT(varchar(100), GETDATE(), 13) 16 05 2011 09:57:08:937  DD MM YYYY HH:MM:SS:fff
SELECT CONVERT(varchar(100), GETDATE(), 14) 09:57:08:967 时间(带冒号毫秒)HH:MM:SS:fff
SELECT CONVERT(varchar(100), GETDATE(), 20) 2011-05-16 09:57:08 YYYY-MM-DD HH:MM:SS
SELECT CONVERT(varchar(100), GETDATE(), 21) 2011-05-16 09:57:47.157  YYYY-MM-DD HH:MM:SS.fff
SELECT CONVERT(varchar(100), GETDATE(), 22) 05/16/11 10:57:47 AM   MM/DD/YY H:MM:SS PM
SELECT CONVERT(varchar(100), GETDATE(), 23) 2011-05-16 YYY-MM-DD
SELECT CONVERT(varchar(100), GETDATE(), 24) 09:57:08  HH:MM:SS
SELECT CONVERT(varchar(100), GETDATE(), 25) 2011-05-16 09:57:08.250  YYYY-MM-DD HH:MM:SS.fff
SELECT CONVERT(varchar(100), GETDATE(), 100) 05 16 2011 9:57AM   MM DD YYYY H:MMPM
SELECT CONVERT(varchar(100), GETDATE(), 101) 05/16/2011  MM/DD/YY
SELECT CONVERT(varchar(100), GETDATE(), 102) 2011.05.16   YYYY.MM.DD
SELECT CONVERT(varchar(100), GETDATE(), 103) 16/05/2011  DD/MM/YYYY
SELECT CONVERT(varchar(100), GETDATE(), 104) 16.05.2011   DD.MM.YYYY
SELECT CONVERT(varchar(100), GETDATE(), 105) 16-05-2011   DD-MM-YYYY
SELECT CONVERT(varchar(100), GETDATE(), 106) 16 05 2011   DD MM YYYY
SELECT CONVERT(varchar(100), GETDATE(), 107) 05 16, 2011   DD MM, YYYY
SELECT CONVERT(varchar(100), GETDATE(), 108) 09:57:08  HH:MM:SS
SELECT CONVERT(varchar(100), GETDATE(), 109) 05 16 2011 9:57:08:437AM MM DD YYYY H:MM:SS:fffPM
SELECT CONVERT(varchar(100), GETDATE(), 110) 05-16-2011 MM-DD-YYYY
SELECT CONVERT(varchar(100), GETDATE(), 111) 2011/05/16  YYYY/MM/DD
SELECT CONVERT(varchar(100), GETDATE(), 112) 20110516  YYYYMMDD
SELECT CONVERT(varchar(100), GETDATE(), 113) 16 05 2011 09:57:08:513  DD MM YYYY 
SELECT CONVERT(varchar(100), GETDATE(), 114) 10:57:49:547   HH:MM:SS:fff
SELECT CONVERT(varchar(100), GETDATE(), 120) 2011-05-16 09:57:49  YYYY-MM-DD HH:MM:SS
SELECT CONVERT(varchar(100), GETDATE(), 121) 2011-05-16 09:57:49.700  YYYY-MM-DD HH:MM:SS.fff
SELECT CONVERT(varchar(100), GETDATE(), 126) 2011-05-16T09:57:49.827  YYYY-MM-DDTHH:MM:SS.fff
SELECT CONVERT(varchar(100), GETDATE(), 127) 2011-05-16T09:57:49.827  同126,无空格

SELECT CONVERT(varchar(100), GETDATE(), 130)

SELECT CONVERT(nvarchar(100), GETDATE(), 130)

18 ???? ?????? 1427 09:57:08:907AM 

18 ذو القعدة 1427  9:57:08:907AM

乱码

nvarchar正常

SELECT CONVERT(varchar(100), GETDATE(), 131) 18/11/1427  9:57:08:907AM

DD?/MM?/YYYY? H:MM:SS.fff

(差异:0578-06-07)

 

常用样式:
     SELECT CONVERT(varchar(100), GETDATE(), xx)
1)纯日期: 111(国际标准/), 23(中国格式-);  112(纯数字的日期)
2)纯时间: 108824(都是标准时间格式)
   纯时间带毫秒:114(毫秒部分用冒号:)
3)日期+时间:   12020(都是标准日期时间)
4)日期+时间带毫秒:   12121 和25(都是标准日期时间);
5) 日期+时间不含空格: 126127 (日期和时间中间的空格换成T)

  速记法: 20-日期时间(21-日期时间带毫秒),    23-纯日期, 24-纯时间;

                 日期其它常用格式:111(国际标准/,Excel) ,112(纯数字日期)

 

 

 

 

------------------------------------------------------------------------------------------------------------------------------------

 

可以使用的 style 值:

Style ID

Style 格式

100 或者 0

mon dd yyyy hh:miAM (或者 PM)

101

mm/dd/yy

102

yy.mm.dd

103

dd/mm/yy

104

dd.mm.yy

105

dd-mm-yy

106

dd mon yy

107

Mon dd, yy

108

hh:mm:ss

109 或者 9

mon dd yyyy hh:mi:ss:mmmAM(或者 PM)

110

mm-dd-yy

111

yy/mm/dd

112

yymmdd

113 或者 13

dd mon yyyy hh:mm:ss:mmm(24h)

114

hh:mi:ss:mmm(24h)

120 或者 20

yyyy-mm-dd hh:mi:ss(24h)

121 或者 21

yyyy-mm-dd hh:mi:ss.mmm(24h)

126

yyyy-mm-ddThh:mm:ss.mmm(没有空格)

130

dd mon yyyy hh:mi:ss:mmmAM

131

dd/mm/yy hh:mi:ss:mmmAM

 参考资料:

https://learn.microsoft.com/zh-cn/sql/t-sql/functions/format-transact-sql?view=sql-server-ver16&redirectedfrom=MSDN

https://learn.microsoft.com/zh-cn/previous-versions/msdn10/dd391745(v=MSDN.10)

 

posted @ 2024-05-20 18:40  亟待!  阅读(397)  评论(0)    收藏  举报
……