SQL SERVER数据库中日期格式化详解

 更新时间:2023年09月10日 09:46:40   作者:萌新小豪  
这篇文章主要给大家介绍了关于SQL SERVER数据库中日期格式化的相关资料,在SQL Server中可以使用CONVERT函数来格式化日期,文中通过代码介绍的非常详细,需要的朋友可以参考下

1. 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个字节的存储空间。

2. GETDATE()函数,返回当前日期时间(datetime类型)

SELECT GETDATE();
返回
2023-03-27 09:36:30.207

3. CONVERT()函数,格式化日期

CONVERT() 函数是把日期转换为新数据类型的通用函数,也可以用不同的格式显示日期/时间数据。

语法:

CONVERT(data_type(length),date,style)
  • data_type(length) 规定目标数据类型(带有可选的长度)。date指需要转换的值。style 规定日期/时间的输出格式。
  • 可以使用的 style 值:当前时间2023年3月27日 09:36:30.207
Style IDSQL对应格式
1SELECT CONVERT(varchar(100), GETDATE(), 1);01/03/17
2SELECT CONVERT(varchar(100), GETDATE(), 2);17.01.03
3SELECT CONVERT(varchar(100), GETDATE(), 3);03/01/17
4SELECT CONVERT(varchar(100), GETDATE(), 4);03.01.17
5SELECT CONVERT(varchar(100), GETDATE(), 5);03-01-17
6SELECT CONVERT(varchar(100), GETDATE(), 6);03 01 17
7SELECT CONVERT(varchar(100), GETDATE(), 7);01 03, 17
8SELECT CONVERT(varchar(100), GETDATE(), 8);09:09:10
9SELECT CONVERT(varchar(100), GETDATE(), 9);01 3 2017 9:09:10:037AM
10SELECT CONVERT(varchar(100), GETDATE(), 10);01-03-17
11SELECT CONVERT(varchar(100), GETDATE(), 11);17/01/03
12SELECT CONVERT(varchar(100), GETDATE(), 12);170103
13SELECT CONVERT(varchar(100), GETDATE(), 13);03 01 2017 09:09:10:037
14SELECT CONVERT(varchar(100), GETDATE(), 14);09:09:10:037
20SELECT CONVERT(varchar(100), GETDATE(), 20);2017-01-03 09:09:10
21SELECT CONVERT(varchar(100), GETDATE(), 21);2017-01-03 09:09:10.037
22SELECT CONVERT(varchar(100), GETDATE(), 22);01/03/17 9:09:10 AM
23SELECT CONVERT(varchar(100), GETDATE(), 23);2017-01-03
24SELECT CONVERT(varchar(100), GETDATE(), 24);09:09:10
25SELECT CONVERT(varchar(100), GETDATE(), 25);2017-01-03 09:09:10.037
100SELECT CONVERT(varchar(100), GETDATE(), 100);01 3 2017 9:09AM
101SELECT CONVERT(varchar(100), GETDATE(), 101);01/03/2017
102SELECT CONVERT(varchar(100), GETDATE(), 102);2017.01.03
103SELECT CONVERT(varchar(100), GETDATE(), 103);03/01/2017
104SELECT CONVERT(varchar(100), GETDATE(), 104);03.01.2017
105SELECT CONVERT(varchar(100), GETDATE(), 105);03-01-2017
106SELECT CONVERT(varchar(100), GETDATE(), 106);03 01 2017
107SELECT CONVERT(varchar(100), GETDATE(), 107);01 03, 2017
108SELECT CONVERT(varchar(100), GETDATE(), 108);09:09:10
109SELECT CONVERT(varchar(100), GETDATE(), 109);01 3 2017 9:09:10:037AM
110SELECT CONVERT(varchar(100), GETDATE(), 110);01-03-2017
111SELECT CONVERT(varchar(100), GETDATE(), 111);2017/01/03
112SELECT CONVERT(varchar(100), GETDATE(), 112);20170103
113SELECT CONVERT(varchar(100), GETDATE(), 113);03 01 2017 09:09:10:037
114SELECT CONVERT(varchar(100), GETDATE(), 114);09:09:10:037
120SELECT CONVERT(varchar(100), GETDATE(), 120);2017-01-03 09:09:10
121SELECT CONVERT(varchar(100), GETDATE(), 121);2017-01-03 09:09:10.037
126SELECT CONVERT(varchar(100), GETDATE(), 126);2017-01-03T09:09:10.037
130SELECT CONVERT(varchar(100), GETDATE(), 130);5 ???? ?????? 1438 9:09:10:037AM
131SELECT CONVERT(varchar(100), GETDATE(), 131);5/04/1438 9:09:10:037AM

4. DATEPART() 函数 

datepart()函数是用来返回 指定日期时间的指定日期部分的整数。返回类型为:int

语法:例如获取当前时间的年份:

select DATEPART(yy,getdate())
-- 2023
select DATEPART(mm,getdate())
-- 3
select DATEPART(dd,getdate())
-- 27
日期部分缩写说明
yearyy,yyyy返还年份
quarterqq,q返还季度
monthmm,m返还月份
day of yeardy ,y返还一年中的第几天
daydd,d返还日
weekwk,ww返还一年中的第几周
weekdaydw返还星期几 数据型
hourhh返还小时
minutemi,n返还分钟
secondss,s返还秒
millisecondms返还毫秒数

总结

到此这篇关于SQL SERVER数据库中日期格式化的文章就介绍到这了,更多相关SQLSERVER日期格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • sql server 性能优化之nolock

    sql server 性能优化之nolock

    在SQL Server数据库查询时,为了提高查询的性能,我们往往会在表后面加一个nolock,或者是with(nolock),让数据库在查询时不锁定表,从而提高查询的速度,接下来,通过本篇文章给大家详解sql server 性能优化之nolock,需要的朋友快来学习吧。
    2015-08-08
  • SQL Server实现显示每个类别最新更新数据的方法

    SQL Server实现显示每个类别最新更新数据的方法

    这篇文章主要介绍了SQL Server实现显示每个类别最新更新数据的方法,涉及SQL Server数据库Select查询操作使用技巧,需要的朋友可以参考下
    2017-03-03
  • SQL语句实例说明 方便学习mysql的朋友

    SQL语句实例说明 方便学习mysql的朋友

    我是在MySQL数据库中做的测试,不同的数据库有一定的差别方便学习mysql的朋友
    2012-09-09
  • SQL LOADER错误小结

    SQL LOADER错误小结

    在使用SQL*LOADER装载数据时,由于平面文件的多样化和数据格式问题总会遇到形形色色的一些小问题,下面是小编抽时间整理的一些错误,感兴趣的朋友一起学习吧
    2015-12-12
  • SQL删除多列语句的写法

    SQL删除多列语句的写法

    这篇文章主要介绍了SQL删除多列语句的写法,非常简单,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Sql学习第一天——SQL 将变量定义为Table类型(虚拟表)

    Sql学习第一天——SQL 将变量定义为Table类型(虚拟表)

    sql语句中的变量时通常我们定义的都是像char,varchar,nvarchar之类的,接下来教大家实现让变量作为一个像虚拟表一样,感性的各位可以参考下哈
    2013-03-03
  • SQL中字符串中包含字符的判断方法

    SQL中字符串中包含字符的判断方法

    在sql中我判断包含字符串我们可使用很多方法如like,replace,charindex函数都可实现我们要的功能,下面我来给大家介绍判断字符串包含字符串sql语句。感兴趣的朋友一起看看吧
    2017-09-09
  • sql server安装及使用全流程(图文详解)

    sql server安装及使用全流程(图文详解)

    这篇文章主要介绍了sql server安装及使用全流程,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • SQL Server遍历表中记录的2种方法(使用表变量和游标)

    SQL Server遍历表中记录的2种方法(使用表变量和游标)

    遍历表一般都要用到游标在SQL Server中可以很容易的用游标实现循环实现遍历表中记录,本文将介绍使用表变量和游标实现数据库中表的遍历,感兴趣的朋友可以了解下本文,或许可以帮助到你
    2013-02-02
  • 关于重新组织和重新生成索引sp_RefreshIndex的介绍

    关于重新组织和重新生成索引sp_RefreshIndex的介绍

    本篇文章小编为大家介绍,关于重新组织和重新生成索引sp_RefreshIndex的介绍。需要的朋友参考下
    2013-04-04

最新评论