在SQL Server中,CONVERT函数支持多种样式代码(style codes),用于指定日期和时间的格式。样式代码 23 是一种常用的格式,表示 yyyy-mm-dd。以下是一些常用的样式代码:
日期格式样式代码
0 or 100 - mon dd yyyy hh:miAM (or PM)
1 or 101 - mm/dd/yyyy
2 or 102 - yyyy.mm.dd
3 or 103 - dd/mm/yyyy
4 or 104 - dd.mm.yyyy
5 or 105 - dd-mm-yyyy
6 or 106 - dd mon yyyy
7 or 107 - Mon dd, yyyy
10 or 110 - mm-dd-yyyy
11 or 111 - yyyy/mm/dd
12 or 112 - yyyymmdd
13 or 113 - dd mon yyyy hh:mi:ss:mmm (24h)
20 or 120 - yyyy-mm-dd hh:mi:ss (24h)
21 or 121 - yyyy-mm-dd hh:mi:ss.mmm
23 - yyyy-mm-dd
126 - yyyy-mm-ddThh:mi:ss.mmm
127 - yyyy-mm-ddThh:mi:ss.mmmZ
130 - dd mon yyyy hh:mi:ss:mmmAM (or PM)
131 - yyyy-mm-dd hh:mi:ss.mmmAM (or PM)
示例
以下是一些示例,展示如何使用不同的样式代码来转换日期字符串:
-- 使用样式代码 23
SELECT CONVERT(DATE, '2023-10-01', 23) AS ConvertedDate;
-- 使用样式代码 101
SELECT CONVERT(DATE, '10/01/2023', 101) AS ConvertedDate;
-- 使用样式代码 103
SELECT CONVERT(DATE, '01/10/2023', 103) AS ConvertedDate;
-- 使用样式代码 112
SELECT CONVERT(DATE, '20231001', 112) AS ConvertedDate;