sql server 日期格式转换

举例,日期字符串格式:mm/dd/yy    07/22/17

转换日期:select CONVERT(datetime,'07/22/17 ',1)

输出后:2017-07-22 00:00:00.000

SQL Server 使用科威特算法来支持阿拉伯样式的日期格式

不带世纪数位 (yy) (1)带世纪数位 (yyyy)Standard输入/输出 (3)
- 0 或 100 (1,2) datetime 和 smalldatetime 的默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 1 = mm/dd/yy
101 = mm/dd/yyyy
2 102 ANSI 2 = yy.mm.dd
102 = yyyy.mm.dd
3 103 英国/法国 3 = dd/mm/yy
103 = dd/mm/yyyy
4 104 德语 4 = dd.mm.yy
104 = dd.mm.yyyy
5 105 意大利语 5 = dd-mm-yy
105 = dd-mm-yyyy
6 106(1) - 6 = dd mon yy
106 = dd mon yyyy
7 107(1) - 7 = Mon dd, yy
107 = Mon dd, yyyy
8 或 24 108 - hh:mi:ss
- 9 或 109 (1,2) 默认格式 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 USA 10 = mm-dd-yy
110 = mm-dd-yyyy
11 111 日本 11 = yy/mm/dd
111 = yyyy/mm/dd
12 112 ISO 12 = yymmdd
112 = yyyymmdd
- 13 或 113 (1,2) 欧洲默认格式 + 毫秒 dd mon yyyy hh:mi:ss:mmm(24 小时制)
14 114 - hh:mi:ss:mmm(24 小时制)
- 20 或 120 (2) ODBC 规范 yyyy-mm-dd hh:mi:ss(24 小时制)
- 21、25 或 121 (2) time、date、datetime2 和 datetimeoffset 的 ODBC 规范(带毫秒)默认值 yyyy-mm-dd hh:mi:ss.mmm(24 小时制)
22 - 美国 mm/dd/yy hh:mi:ss AM(或 PM)
- 23 ISO8601 yyyy-mm-dd
- 126 (4) ISO8601 yyyy-mm-ddThh:mi:ss.mmm(无空格)

注意: 毫秒 (mmm) 值为 0 时,不会显示毫秒小数部分的值。 例如,值“2012-11-07T18:26:20.000”显示为“2012-11-07T18:26:20”。
- 127(6, 7) 带时区 Z 的 ISO8601。 yyyy-MM-ddThh:mm:ss.fffZ(不带空格)

注意: 毫秒 (mmm) 值为 0 时,不会显示毫秒小数值。 例如,值“2012-11-07T18:26:20.000”显示为“2012-11-07T18:26:20”。
- 130 (1,2) 回历 (5) dd mon yyyy hh:mi:ss:mmmAM

在此样式中,mon 表示完整月份名称的多标记回历 unicode 表示形式。 该值在 SSMS 的默认 US 安装中不会正确呈现。
- 131 (2) 回历 (5) dd/mm/yyyy hh:mi:ss:mmmAM

1 这些样式值返回不确定的结果。 包括所有 (yy)(不带世纪数位)样式和一部分 (yyyy)(带世纪数位)样式。

2 默认值(0 或 100、9 或 109、13 或 113、20 或 120,23,以及 21、25 或 121)始终返回世纪位数 (yyyy) 。

3 转换为 datetime 时输入;转换为字符数据时输出。

4 为用于 XML 而设计。 对于从 datetime 或 smalldatetime 到字符数据的转换,请参阅上一个表,查看输出格式 。

5 回历是有多种变体的日历系统。 SQL Server 使用科威特算法

参考微软官方文档:https://learn.microsoft.com/zh-cn/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver15

 

posted @ 2023-04-03 10:39  haishu  阅读(125)  评论(0编辑  收藏  举报