SQL
SQL SERVER数据库中日期格式化详解
关于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 返还毫秒数
本文作者:易神软件
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!