SQL时间格式转换

简介:本文将介绍在数据库中,使用SQL对数据进行分组排序。

1 技巧背景

在进行数据分析的时候,我们需要对日期的格式进行转换或统一化处理,故需要用到SQL时间格式转换的方法。

2 使用CONVERT()函数

2.1 函数语法

1
CONVERT (data_type [(length)] , expression , [style] )

date_type
目标数据类型。如nvarchar , char等。

length
指定目标数据类型长度。

expression
任何有效的表达式。一般为需要转换格式的列。

style
指定转换后呈现的格式。

style 呈现格式
101 mm/dd/yyyy
102 yyyy.mm.dd
103 dd/mm/yyyy
104 dd.mm.yyyy
105 dd-mm-yyyy
106 dd mon yyyy
107 Mon dd,yyyy
108 hh:mi:ss
110 mm-dd-yyyy
111 yyyy/mm/dd
112 yyyymmdd
23 yyyy-mm-dd

以上仅作简单的参数设置介绍,详细格式请看详细用法。

2.2 详细用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SELECT GETDATE()				-- 2021-12-24 19:11:32.770
SELECT CONVERT(NVARCHAR(100),GETDATE(),1) -- 12/24/21
SELECT CONVERT(NVARCHAR(100),GETDATE(),101) -- 12/24/2021
SELECT CONVERT(NVARCHAR(100),GETDATE(),2) -- 21.12.24
SELECT CONVERT(NVARCHAR(100),GETDATE(),102) -- 2021.12.24
SELECT CONVERT(NVARCHAR(100),GETDATE(),3) -- 24/12/21
SELECT CONVERT(NVARCHAR(100),GETDATE(),103) -- 24/12/2021
SELECT CONVERT(NVARCHAR(100),GETDATE(),4) -- 24.12.21
SELECT CONVERT(NVARCHAR(100),GETDATE(),104) -- 24.12.2021
SELECT CONVERT(NVARCHAR(100),GETDATE(),5) -- 24-12-21
SELECT CONVERT(NVARCHAR(100),GETDATE(),105) -- 24-12-2021
SELECT CONVERT(NVARCHAR(100),GETDATE(),6) -- 24 12 21
SELECT CONVERT(NVARCHAR(100),GETDATE(),106) -- 24 12 2021
SELECT CONVERT(NVARCHAR(100),GETDATE(),7) -- 12 24, 21
SELECT CONVERT(NVARCHAR(100),GETDATE(),107) -- 12 24, 2021
SELECT CONVERT(NVARCHAR(100),GETDATE(),108) -- 19:11:32
SELECT CONVERT(NVARCHAR(100),GETDATE(),9) -- 12 24 2021 7:11:32:770PM
SELECT CONVERT(NVARCHAR(100),GETDATE(),10) -- 12-24-21
SELECT CONVERT(NVARCHAR(100),GETDATE(),110) -- 12-24-2021
SELECT CONVERT(NVARCHAR(100),GETDATE(),11) -- 21/12/24
SELECT CONVERT(NVARCHAR(100),GETDATE(),111) -- 2021/12/24
SELECT CONVERT(NVARCHAR(100),GETDATE(),12) -- 211224
SELECT CONVERT(NVARCHAR(100),GETDATE(),112) -- 20211224
SELECT CONVERT(NVARCHAR(100),GETDATE(),13) -- 24 12 2021 19:11:32:770
SELECT CONVERT(NVARCHAR(100),GETDATE(),114) -- 19:11:32:770
SELECT CONVERT(NVARCHAR(100),GETDATE(),120) -- 2021-12-24 19:11:32
SELECT CONVERT(NVARCHAR(100),GETDATE(),121) -- 2021-12-24 19:11:32.770
SELECT CONVERT(NVARCHAR(100),GETDATE(),22) -- 12/24/21 7:11:32 PM
SELECT CONVERT(NVARCHAR(100),GETDATE(),23) -- 2021-12-24
SELECT CONVERT(NVARCHAR(100),GETDATE(),126) -- 2021-12-24T19:11:32.770
SELECT CONVERT(NVARCHAR(100),GETDATE(),127) -- 2021-12-24T19:11:32.770

以上脚本已包含大部分输出参数设置呈现的结果,更详细介绍可在本文末尾参考资料链接访问微软官方文档进行查看。

3 参考资料

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