SQL SERVER中的日期类型
在SQL SERVER 中用来表示时间日期的类型有两个:date,datetime

date是SQL Server 2008新引进的数据类型。它表示一个日期,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间。
datetime 日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间。
GETDATE()函数
在SQL SERVER 中想要获取当前时间,可以直接使用GETDATE()函数,它返回的是数据是datatime类型。如下图:

至于如果想直接返回一个date类型的日期,这时候就需要使用CONVERT做日期格式化
select CONVERT(VARCHAR, GETDATE(), 23)

CONVERT()函数,格式化日期
CONVERT()函数是把日期转换为新数据类型的通用函数,也可以用不同的格式显示日期/时间数据。
语法:CONVERT(data_type(length),date,style)
data_type(length) 规定目标数据类型(带有可选的长度)。
date指需要转换的日期值。
style 规定日期/时间的输出格式。
常用style参考值
| Style ID | SQL | 对应格式 |
|---|---|---|
| 1 | SELECT CONVERT(varchar(100), GETDATE(), 1); | 12/02/19 |
| 2 | SELECT CONVERT(varchar(100), GETDATE(), 2); | 19.12.02 |
| 3 | SELECT CONVERT(varchar(100), GETDATE(), 3); | 02/12/19 |
| 4 | SELECT CONVERT(varchar(100), GETDATE(), 4); | 02.12.19 |
| 5 | SELECT CONVERT(varchar(100), GETDATE(), 5); | 02-12-19 |
| 6 | SELECT CONVERT(varchar(100), GETDATE(), 6); | 02 12 19 |
| 7 | SELECT CONVERT(varchar(100), GETDATE(), 7); | 12 02, 19 |
| 8 | SELECT CONVERT(varchar(100), GETDATE(), 8); | 23:18:48 |
| 9 | SELECT CONVERT(varchar(100), GETDATE(), 9); | 12 2 2019 11:18:48:007PM |
| 10 | SELECT CONVERT(varchar(100), GETDATE(), 10); | 12-02-19 |
| 11 | SELECT CONVERT(varchar(100), GETDATE(), 11); | 19/12/02 |
| 12 | SELECT CONVERT(varchar(100), GETDATE(), 12); | 191202 |
| 13 | SELECT CONVERT(varchar(100), GETDATE(), 13); | 02 12 2019 23:18:48:007 |
| 14 | SELECT CONVERT(varchar(100), GETDATE(), 14); | 23:18:48:007 |
| 20 | SELECT CONVERT(varchar(100), GETDATE(), 20); | 2019-12-02 23:21:30 |
| 21 | SELECT CONVERT(varchar(100), GETDATE(), 21); | 2019-12-02 23:21:30.417 |
| 22 | SELECT CONVERT(varchar(100), GETDATE(), 22); | 12/02/19 11:21:30 PM |
| 23 | SELECT CONVERT(varchar(100), GETDATE(), 23); | 2019-12-02 |
| 24 | SELECT CONVERT(varchar(100), GETDATE(), 24); | 23:21:30 |
| 25 | SELECT CONVERT(varchar(100), GETDATE(), 25); | 2019-12-02 23:21:30.417 |
| 100 | SELECT CONVERT(varchar(100), GETDATE(), 100); | 12 2 2019 11:23PM |
| 101 | SELECT CONVERT(varchar(100), GETDATE(), 101); | 12/02/2019 |
| 102 | SELECT CONVERT(varchar(100), GETDATE(), 102); | 2019.12.02 |
| 103 | SELECT CONVERT(varchar(100), GETDATE(), 103); | 02/12/2019 |
| 104 | SELECT CONVERT(varchar(100), GETDATE(), 104); | 02.12.2019 |
| 105 | SELECT CONVERT(varchar(100), GETDATE(), 105); | 02-12-2019 |
| 106 | SELECT CONVERT(varchar(100), GETDATE(), 106); | 02 12 2019 |
| 107 | SELECT CONVERT(varchar(100), GETDATE(), 107); | 12 02, 2019 |
| 108 | SELECT CONVERT(varchar(100), GETDATE(), 108); | 23:23:43 |
| 109 | SELECT CONVERT(varchar(100), GETDATE(), 109); | 12 2 2019 11:23:43:040PM |
| 110 | SELECT CONVERT(varchar(100), GETDATE(), 110); | 12-02-2019 |
| 111 | SELECT CONVERT(varchar(100), GETDATE(), 111); | 2019/12/02 |
| 112 | SELECT CONVERT(varchar(100), GETDATE(), 112); | 20191202 |
| 113 | SELECT CONVERT(varchar(100), GETDATE(), 113); | 02 12 2019 23:23:43:040 |
| 114 | SELECT CONVERT(varchar(100), GETDATE(), 114); | 23:23:43:040 |
| 120 | SELECT CONVERT(varchar(100), GETDATE(), 120); | 2019-12-02 23:26:54 |
| 121 | SELECT CONVERT(varchar(100), GETDATE(), 121); | 2019-12-02 23:26:54.193 |
| 126 | SELECT CONVERT(varchar(100), GETDATE(), 126); | 2019-12-02T23:26:54.193 |
| 130 | SELECT CONVERT(varchar(100), GETDATE(), 130); | 5 ???? ?????? 1441 11:26:54:193PM |
| 131 | SELECT CONVERT(varchar(100), GETDATE(), 131); | 5/04/1441 11:26:54:193PM |
来源:oschina
链接:https://my.oschina.net/u/4274621/blog/4881352