SQL时间格式化

Posted hongboiiii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL时间格式化相关的知识,希望对你有一定的参考价值。

在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 
用DateName()就可以获得相应的年、月、日,然后再把它们连接起来就可以了:

Select Datename(year,GetDate())+‘-‘+Datename
(month,GetDate())+‘-‘+Datename(day,GetDate())

另外,DateName()还可以获得到小时、时间、秒、星期几、第几周,分别如下:

Select Datename(hour,GetDate())
Select Datename(minute,GetDate())
Select Datename(second,GetDate())
Select Datename(weekDay,GetDate())
Select Datename(week,GetDate())

SQL中的日期类型DateTime的默认格式就是yyyy-mm-dd hh:mi:ss: mmm,可大多数的情况我们只想得到他的日期部分,而不许要后面的时间。上一篇中提到用Datename()函数来截取拼接出不包含时间部分的日期,现在再说一种方法,更加简单的获取到不包含时间的日期!


使用Convert()函数:

select convert(char(10),GetDate(),120) as Date

* 第3个参数就是用来设置日期类型数据的显示样式的,下面介绍几种样式的参数:

100   mm dd yyyy

101   mm/dd/yyyy

102   yyyy.mm.dd

103   dd/mm/yyyy

106   dd mm yyyy

108   hh:mi:ss(时间)

111   yyyy/mm/dd

112   yyyymmdd

120   yyyy-mm-dd

 

技术分享图片
1 SELECT CONVERT(varchar(100), GETDATE(), 0) 05 9 2011 9:12AM
2  SELECT CONVERT(varchar(100), GETDATE(), 1) 05/09/11
3 SELECT CONVERT(varchar(100), GETDATE(), 2) 11.05.09
4 SELECT CONVERT(varchar(100), GETDATE(), 3) 09/05/11
5 SELECT CONVERT(varchar(100), GETDATE(), 4) 09.05.11
6 SELECT CONVERT(varchar(100), GETDATE(), 5) 09-05-11
7 SELECT CONVERT(varchar(100), GETDATE(), 6) 09 05 11
8 SELECT CONVERT(varchar(100), GETDATE(), 7) 05 09, 11
9 SELECT CONVERT(varchar(100), GETDATE(), 8) 09:13:14
10 SELECT CONVERT(varchar(100), GETDATE(), 9) 05 9 2011 9:13:14:670AM11 SELECT CONVERT(varchar(100), GETDATE(), 10) 05-09-1112 SELECT CONVERT(varchar(100), GETDATE(), 11) 11/05/0913 SELECT CONVERT(varchar(100), GETDATE(), 12) 11050914 SELECT CONVERT(varchar(100), GETDATE(), 13) 09 05 2011 09:13:14:67015 SELECT CONVERT(varchar(100), GETDATE(), 14) 09:13:14:67016 SELECT CONVERT(varchar(100), GETDATE(), 20) 2011-05-09 09:13:1417 SELECT CONVERT(varchar(100), GETDATE(), 21) 2011-05-09 09:13:14.67018 SELECT CONVERT(varchar(100), GETDATE(), 22) 05/09/11 9:15:33 AM19 SELECT CONVERT(varchar(100), GETDATE(), 23) 2011-05-0920 SELECT CONVERT(varchar(100), GETDATE(), 24) 09:15:3321 SELECT CONVERT(varchar(100), GETDATE(), 25) 2011-05-09 09:15:33.14022 SELECT CONVERT(varchar(100), GETDATE(), 100) 05 9 2011 9:15AM23 SELECT CONVERT(varchar(100), GETDATE(), 101) 05/09/201124 SELECT CONVERT(varchar(100), GETDATE(), 102) 2011.05.0925 SELECT CONVERT(varchar(100), GETDATE(), 103) 09/05/201126 SELECT CONVERT(varchar(100), GETDATE(), 104) 09.05.201127 SELECT CONVERT(varchar(100), GETDATE(), 105) 09-05-201128 SELECT CONVERT(varchar(100), GETDATE(), 106) 09 05 201129 SELECT CONVERT(varchar(100), GETDATE(), 107) 05 09, 201130 SELECT CONVERT(varchar(100), GETDATE(), 108) 09:16:3831 SELECT CONVERT(varchar(100), GETDATE(), 109) 05 9 2011 9:16:38:543AM32 SELECT CONVERT(varchar(100), GETDATE(), 110) 05-09-201133 SELECT CONVERT(varchar(100), GETDATE(), 111) 2011/05/0934 SELECT CONVERT(varchar(100), GETDATE(), 112) 2011050935 SELECT CONVERT(varchar(100), GETDATE(), 113) 09 05 2011 09:17:19:85736 SELECT CONVERT(varchar(100), GETDATE(), 114) 09:17:19:85737 SELECT CONVERT(varchar(100), GETDATE(), 120) 2011-05-09 09:17:1938 SELECT CONVERT(varchar(100), GETDATE(), 121) 2011-05-09 09:17:19.85739 SELECT CONVERT(varchar(100), GETDATE(), 126) 2011-05-09T09:17:19.85740 SELECT CONVERT(varchar(100), GETDATE(), 130) 6 ????? ??????? 1432 9:17:19:857AM41 SELECT CONVERT(varchar(100), GETDATE(), 131) 6/06/1432 9:17:19:857AM
技术分享图片
















以上是关于SQL时间格式化的主要内容,如果未能解决你的问题,请参考以下文章

SQL时间第二期_时间格式化

SQL时间格式化

sql 时间格式化

sql时间格式化

DB2 sql计算时间差和格式化时间

如何在 SQL 中格式化当前日期和时间,但只包含时间本身?