关于SQL SERVER数据库中日期格式化的相关资料,在SQL Server中可以使用CONVERT函数来格式化日期,文中通过代码介绍的非常详细,需要的朋友可以参考下
一、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()函数,返回当前日期时间(datetime类型)
SELECT GETDATE();
返回
2023-03-27 09:36:30.207
三、CONVERT()函数,格式化日期
CONVERT() 函数是把日期转换为新数据类型的通用函数,也可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),date,style)
data_type(length) 规定目标数据类型(带有可选的长度)。date指需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:当前时间2023年3月27日 09:36:30.207
| Style ID | SQL | 对应格式 |
|---|---|---|
| 1 | SELECT CONVERT(varchar(100), GETDATE(), 1); | 01/03/17 |
| 2 | SELECT CONVERT(varchar(100), GETDATE(), 2); | 17.01.03 |
| 3 | SELECT CONVERT(varchar(100), GETDATE(), 3); | 03/01/17 |
| 4 | SELECT CONVERT(varchar(100), GETDATE(), 4); | 03.01.17 |
| 5 | SELECT CONVERT(varchar(100), GETDATE(), 5); | 03-01-17 |
| 6 | SELECT CONVERT(varchar(100), GETDATE(), 6); | 03 01 17 |
| 7 | SELECT CONVERT(varchar(100), GETDATE(), 7); | 01 03, 17 |
| 8 | SELECT CONVERT(varchar(100), GETDATE(), 8); | 09:09:10 |
| 9 | SELECT CONVERT(varchar(100), GETDATE(), 9); | 01 3 2017 9:09:10:037AM |
| 10 | SELECT CONVERT(varchar(100), GETDATE(), 10); | 01-03-17 |
| 11 | SELECT CONVERT(varchar(100), GETDATE(), 11); | 17/01/03 |
| 12 | SELECT CONVERT(varchar(100), GETDATE(), 12); | 170103 |
| 13 | SELECT CONVERT(varchar(100), GETDATE(), 13); | 03 01 2017 09:09:10:037 |
| 14 | SELECT CONVERT(varchar(100), GETDATE(), 14); | 09:09:10:037 |
| 20 | SELECT CONVERT(varchar(100), GETDATE(), 20); | 2017-01-03 09:09:10 |
| 21 | SELECT CONVERT(varchar(100), GETDATE(), 21); | 2017-01-03 09:09:10.037 |
| 22 | SELECT CONVERT(varchar(100), GETDATE(), 22); | 01/03/17 9:09:10 AM |
| 23 | SELECT CONVERT(varchar(100), GETDATE(), 23); | 2017-01-03 |
| 24 | SELECT CONVERT(varchar(100), GETDATE(), 24); | 09:09:10 |
| 25 | SELECT CONVERT(varchar(100), GETDATE(), 25); | 2017-01-03 09:09:10.037 |
| 100 | SELECT CONVERT(varchar(100), GETDATE(), 100); | 01 3 2017 9:09AM |
| 101 | SELECT CONVERT(varchar(100), GETDATE(), 101); | 01/03/2017 |
| 102 | SELECT CONVERT(varchar(100), GETDATE(), 102); | 2017.01.03 |
| 103 | SELECT CONVERT(varchar(100), GETDATE(), 103); | 03/01/2017 |
| 104 | SELECT CONVERT(varchar(100), GETDATE(), 104); | 03.01.2017 |
| 105 | SELECT CONVERT(varchar(100), GETDATE(), 105); | 03-01-2017 |
| 106 | SELECT CONVERT(varchar(100), GETDATE(), 106); | 03 01 2017 |
| 107 | SELECT CONVERT(varchar(100), GETDATE(), 107); | 01 03, 2017 |
| 108 | SELECT CONVERT(varchar(100), GETDATE(), 108); | 09:09:10 |
| 109 | SELECT CONVERT(varchar(100), GETDATE(), 109); | 01 3 2017 9:09:10:037AM |
| 110 | SELECT CONVERT(varchar(100), GETDATE(), 110); | 01-03-2017 |
| 111 | SELECT CONVERT(varchar(100), GETDATE(), 111); | 2017/01/03 |
| 112 | SELECT CONVERT(varchar(100), GETDATE(), 112); | 20170103 |
| 113 | SELECT CONVERT(varchar(100), GETDATE(), 113); | 03 01 2017 09:09:10:037 |
| 114 | SELECT CONVERT(varchar(100), GETDATE(), 114); | 09:09:10:037 |
| 120 | SELECT CONVERT(varchar(100), GETDATE(), 120); | 2017-01-03 09:09:10 |
| 121 | SELECT CONVERT(varchar(100), GETDATE(), 121); | 2017-01-03 09:09:10.037 |
| 126 | SELECT CONVERT(varchar(100), GETDATE(), 126); | 2017-01-03T09:09:10.037 |
| 130 | SELECT CONVERT(varchar(100), GETDATE(), 130); | 5 ???? ?????? 1438 9:09:10:037AM |
| 131 | SELECT CONVERT(varchar(100), GETDATE(), 131); | 5/04/1438 9:09:10:037AM |
四、DATEPART() 函数
datepart()函数是用来返回 指定日期时间的指定日期部分的整数。返回类型为:int。
语法:例如获取当前时间的年份:
select DATEPART(yy,getdate())
--返回
-- 2023
select DATEPART(mm,getdate())
--返回
-- 10
select DATEPART(dd,getdate())
--返回
-- 2
| 日期部分 | 缩写 | 说明 |
|---|---|---|
| year | yy,yyyy | 返还年份 |
| quarter | qq,q | 返还季度 |
| month | mm,m | 返还月份 |
| day of year | dy ,y | 返还一年中的第几天 |
| day | dd,d | 返还日 |
| week | wk,ww | 返还一年中的第几周 |
| weekday | dw | 返还星期几 数据型 |
| hour | hh | 返还小时 |
| minute | mi,n | 返还分钟 |
| second | ss,s | 返还秒 |
| millisecond | ms | 返还毫秒数 |
© 版权声明
1、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长zhou0yang@126.com进行删除处理。
2、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
3、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
4、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
2、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
3、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
4、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END











暂无评论内容