SQL DATE 格式

在本文中,我们将向您展示如何使用示例执行 DATE 格式或格式化 SQL Server 的日期和时间。

Convert SQL DATE 格式示例

在进行实际示例之前,我将向您解释可用的 Convert 日期格式列表。我们将使用 CONVERT 和 FORMAT 函数为本次演示编写不同的日期格式查询。CONVERT 函数提供不同的样式来格式化日期和时间。

不含世纪 (yy)含世纪 (yyyy)输入/输出标准
0 至 100月 日 年 时:分 AM/PM这是 datetime 和 smalldatetime 的默认值
11011 = 月/日/年
101 = 月/日/年
美国
21022 = 年.月.日
102 = 年.月.日
ANSI
31033 = 日/月/年
103 = 日/月/年
英式/法式
41044 = 日.月.年
104 = 日.月.年
德式
51055 = 日-月-年
105 = 日-月-年
意大利式
61066 = 日 月 年
106 = 日 月 年
71077 = 月 日, 年
107 = 月 日, 年
8108时:分:秒
9 或 109月 日 年 时:分:秒:毫秒 AM/PM默认 + 毫秒
1011010 = 月-日-年
110 = 月-日-年
美国
1111111 = 年/月/日
111 = 年/月/日
日本
1211212 = 年年月
112 = 年年月
ISO
13 或 113日 月 年 时:分:秒:毫秒(24小时制)欧洲默认 + 毫秒
14114时:分:秒:毫秒(24小时制)
20 或 120年-月-日 时:分:秒(24小时制)ODBC 规范
21 或 121年-月-日 时:分:秒.毫秒(24小时制)ODBC 规范带毫秒。这是 time, date, datetime2, 和 datetimeoffset 的默认值
126年-月-日Th时:分:秒.毫秒 (无空格)ISO8601
127年-月-日Th时:分:秒.毫秒Z (无空格)带时区 Z 的 ISO8601
130日 月 年 时:分:秒:毫秒 AM回历
131日/月/年 时:分:秒:毫秒 AM回历

使用 CONVERT 函数的 SQL Server DATE 格式

在此示例中,我们将使用 CONVERT 函数对 GETDATE() 进行操作,以不同的格式返回日期。

SELECT CONVERT(VARCHAR(20), GETDATE()) AS 'Result 1';
SELECT CONVERT(VARCHAR(20), GETDATE(), 0) AS 'Result 2';
SELECT CONVERT(VARCHAR(20), GETDATE(), 100) AS 'Result 3';

SELECT CONVERT(VARCHAR(20), GETDATE(), 1) AS 'Result 4';
SELECT CONVERT(VARCHAR(20), GETDATE(), 101) AS 'Result 5';

SELECT CONVERT(VARCHAR(20), GETDATE(), 2) AS 'Result 6';
SELECT CONVERT(VARCHAR(20), GETDATE(), 102) AS 'Result 7';
SQL DATE Format 1

Convert DATE 格式示例 2

此示例查询涵盖了 Convert 函数的更多功能。

SELECT CONVERT(VARCHAR(20), GETDATE(), 3) AS 'Result 8';
SELECT CONVERT(VARCHAR(20), GETDATE(), 103) AS 'Result 9';

SELECT CONVERT(VARCHAR(20), GETDATE(), 4) AS 'Result 10';
SELECT CONVERT(VARCHAR(20), GETDATE(), 104) AS 'Result 11';

SELECT CONVERT(VARCHAR(20), GETDATE(), 5) AS 'Result 12';
SELECT CONVERT(VARCHAR(20), GETDATE(), 105) AS 'Result 13';

SELECT CONVERT(VARCHAR(20), GETDATE(), 6) AS 'Result 14';
SELECT CONVERT(VARCHAR(20), GETDATE(), 106) AS 'Result 15';

在此 SQL Server 示例查询中,我们展示了 Convert 函数中的其他一些日期格式:

SELECT CONVERT(VARCHAR(20), GETDATE(), 7) AS 'Result 16';
SELECT CONVERT(VARCHAR(20), GETDATE(), 107) AS 'Result 17';

SELECT CONVERT(VARCHAR(20), GETDATE(), 8) AS 'Result 18';
SELECT CONVERT(VARCHAR(20), GETDATE(), 108) AS 'Result 19';

SELECT CONVERT(VARCHAR(20), GETDATE(), 9) AS 'Result 20';
SELECT CONVERT(VARCHAR(20), GETDATE(), 109) AS 'Result 21';

SELECT CONVERT(VARCHAR(20), GETDATE(), 10) AS 'Result 22';
SELECT CONVERT(VARCHAR(20), GETDATE(), 110) AS 'Result 23';
DATE Format using Convert Function 3

其他一些 convert 日期格式。

SELECT CONVERT(VARCHAR(20), GETDATE(), 11) AS 'Result 24';
SELECT CONVERT(VARCHAR(20), GETDATE(), 111) AS 'Result 25';

SELECT CONVERT(VARCHAR(20), GETDATE(), 12) AS 'Result 26';
SELECT CONVERT(VARCHAR(20), GETDATE(), 112) AS 'Result 27';

SELECT CONVERT(VARCHAR(20), GETDATE(), 113) AS 'Result 28';

SELECT CONVERT(VARCHAR(20), GETDATE(), 14) AS 'Result 29';
SELECT CONVERT(VARCHAR(20), GETDATE(), 114) AS 'Result 30';

SELECT CONVERT(VARCHAR(20), GETDATE(), 20) AS 'Result 31';

以下是 Convert 函数中可用于日期格式的其余选项列表。

SELECT CONVERT(VARCHAR(35), GETDATE(), 21) AS 'Result 32';

SELECT CONVERT(VARCHAR(35), GETDATE(), 126) AS 'Result 33';

SELECT CONVERT(VARCHAR(35), GETDATE(), 127) AS 'Result 34';

SELECT CONVERT(NVARCHAR(35), GETDATE(), 130) AS 'Result 35';

SELECT CONVERT(NVARCHAR(35), GETDATE(), 131) AS 'Result 36';

SQL Date Format 函数

在此示例中,我们将使用 FORMAT 函数对 GETDATE() 进行操作,以不同的格式返回日期。我建议您参考 标准日期和时间字符串 来理解此示例中使用的字符串格式。

SELECT FORMAT(GETDATE(), 'd', 'en-US' ) AS 'Result 1'
SELECT FORMAT(GETDATE(), 'D', 'en-US' ) AS 'Result 2'
SELECT FORMAT(GETDATE(), 'f', 'en-US' ) AS 'Result 3'
SELECT FORMAT(GETDATE(), 'F', 'en-US' ) AS 'Result 4'
SELECT FORMAT(GETDATE(), 'g', 'en-US' ) AS 'Result 5'
SELECT FORMAT(GETDATE(), 'G', 'en-US' ) AS 'Result 6'
SELECT FORMAT(GETDATE(), 'm', 'en-US' ) AS 'Result 7'
SELECT FORMAT(GETDATE(), 'M', 'en-US' ) AS 'Result 8'
DATE Format Function 6

以下是 Format 函数中可用于日期格式的其余变体列表。

SELECT FORMAT(GETDATE(), 'O', 'en-US' ) AS 'Result 9'
SELECT FORMAT(GETDATE(), 'R', 'en-US' ) AS 'Result 10'
SELECT FORMAT(GETDATE(), 's', 'en-US' ) AS 'Result 11'
SELECT FORMAT(GETDATE(), 'S', 'en-US' ) AS 'Result 12'
SELECT FORMAT(GETDATE(), 't', 'en-US' ) AS 'Result 13'
SELECT FORMAT(GETDATE(), 'T', 'en-US' ) AS 'Result 14'
SELECT FORMAT(GETDATE(), 'u', 'en-US' ) AS 'Result 15'
SELECT FORMAT(GETDATE(), 'U', 'en-US' ) AS 'Result 16'
SELECT FORMAT(GETDATE(), 'Y', 'en-US' ) AS 'Result 17'

使用 Datetime 函数格式化

在这里,我们将使用 SQL Server 中可用的 DATETIME 函数来格式化日期和时间,以不同的格式返回日期。

SELECT DATEFROMPARTS(2017, 06, 14) AS 'Result 1';

SELECT DATETIMEFROMPARTS(2017, 06, 14, 11, 57, 53, 847) AS 'Result 3';

SELECT EOMONTH('20170614') AS 'Result 3';
Using DATETIME Functions datefromparts, eomonth 8

使用转换函数格式化

在此示例中,我们将使用转换函数来格式化日期和时间。转换函数包括 PARSETRY_PARSECONVERTTRY_CONVERT。我们对不同的日期使用这些函数,以不同的变体返回它们。

SELECT PARSE('Wednesday, June 14, 2017' AS DATETIME USING 'en-US') AS 'Result4'; 

SELECT TRY_PARSE('Wednesday, June 14, 2017' AS DATETIME USING 'en-US') AS 'Result5'; 

SELECT CONVERT(DATETIME2, SYSDATETIME()) AS 'Result6'; 

SELECT TRY_CONVERT(DATETIME2, '6/14/2017 11:57:53 AM') AS 'Result7';
Using Conversion Functions Parse, try_parse 9