在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate()
用DateName()就可以获得相应的年、月、日,然后再把它们连接起来就可以了:
年 月 日部分还可以用过year(getdate()) 、month(getdate()) 、day(getdate()) 去获取。
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())
Select datepart(hour,GetDate())
Select datepart(minute,GetDate())
datepart() 与Datename()的不同之处在于datepart()返回的是int类型的值,Datename()返回的是nvarchar类型的值。
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)05920119:12AM
2 SELECTCONVERT(varchar(100),GETDATE(),1)05/09/11
3 SELECTCONVERT(varchar(100),GETDATE(),2)11.05.09
4 SELECTCONVERT(varchar(100),GETDATE(),3)09/05/11
5 SELECTCONVERT(varchar(100),GETDATE(),4)09.05.11
6 SELECTCONVERT(varchar(100),GETDATE(),5)09-05-11
7 SELECTCONVERT(varchar(100),GETDATE(),6)090511
8 SELECTCONVERT(varchar(100),GETDATE(),7)0509,11
9 SELECTCONVERT(varchar(100),GETDATE(),8)09:13:14
10 SELECTCONVERT(varchar(100),GETDATE(),9)05920119:13:14:670AM
11 SELECTCONVERT(varchar(100),GETDATE(),10)05-09-11
12 SELECTCONVERT(varchar(100),GETDATE(),11)11/05/09
13 SELECTCONVERT(varchar(100),GETDATE(),12)110509
14 SELECTCONVERT(varchar(100),GETDATE(),13)0905201109:13:14:670
15 SELECTCONVERT(varchar(100),GETDATE(),14)09:13:14:670
16 SELECTCONVERT(varchar(100),GETDATE(),20)2011-05-0909:13:14
17 SELECTCONVERT(varchar(100),GETDATE(),21)2011-05-0909:13:14.670
18 SELECTCONVERT(varchar(100),GETDATE(),22)05/09/119:15:33 AM
19 SELECTCONVERT(varchar(100),GETDATE(),23)2011-05-09
20 SELECTCONVERT(varchar(100),GETDATE(),24)09:15:33
21 SELECTCONVERT(varchar(100),GETDATE(),25)2011-05-0909:15:33.140
22 SELECTCONVERT(varchar(100),GETDATE(),100)05920119:15AM
23 SELECTCONVERT(varchar(100),GETDATE(),101)05/09/2011
24 SELECTCONVERT(varchar(100),GETDATE(),102)2011.05.09
25 SELECTCONVERT(varchar(100),GETDATE(),103)09/05/2011
26 SELECTCONVERT(varchar(100),GETDATE(),104)09.05.2011
27 SELECTCONVERT(varchar(100),GETDATE(),105)09-05-2011
28 SELECTCONVERT(varchar(100),GETDATE(),106)09052011
29 SELECTCONVERT(varchar(100),GETDATE(),107)0509,2011
30 SELECTCONVERT(varchar(100),GETDATE(),108)09:16:38
31 SELECTCONVERT(varchar(100),GETDATE(),109)05920119:16:38:543AM
32 SELECTCONVERT(varchar(100),GETDATE(),110)05-09-2011
33 SELECTCONVERT(varchar(100),GETDATE(),111)2011/05/09
34 SELECTCONVERT(varchar(100),GETDATE(),112)20110509
35 SELECTCONVERT(varchar(100),GETDATE(),113)0905201109:17:19:857
36 SELECTCONVERT(varchar(100),GETDATE(),114)09:17:19:857
37 SELECTCONVERT(varchar(100),GETDATE(),120)2011-05-0909:17:19
38 SELECTCONVERT(varchar(100),GETDATE(),121)2011-05-0909:17:19.857
39 SELECTCONVERT(varchar(100),GETDATE(),126)2011-05-09T09:17:19.857
40 SELECTCONVERT(varchar(100),GETDATE(),130)6 ????? ???????14329:17:19:857AM
41 SELECTCONVERT(varchar(100),GETDATE(),131)6/06/14329:17:19:857AM