SQLServer取⽇期时间部分
在本⽂中,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  dd
103  dd/mm/yyyy
106  dd mm yyyy
108  hh:mi:ss(时间)
111  yyyy/mm/dd
忘记2011112  yyyymmdd
120  yyyy-mm-dd
1SELECT CONVERT(varchar(100), GETDATE(), 0) 05920119:12AM
2SELECT CONVERT(varchar(100), GETDATE(), 1) 05/09/11
3SELECT CONVERT(varchar(100), GETDATE(), 2) 11.05.09
4SELECT CONVERT(varchar(100), GETDATE(), 3) 09/05/11
5SELECT CONVERT(varchar(100), GETDATE(), 4) 09.05.11
6SELECT CONVERT(varchar(100), GETDATE(), 5) 09-05-11
7SELECT CONVERT(varchar(100), GETDATE(), 6) 090511
8SELECT CONVERT(varchar(100), GETDATE(), 7) 0509, 11
9SELECT CONVERT(varchar(100), GETDATE(), 8) 09:13:14
10SELECT CONVERT(varchar(100), GETDATE(), 9) 05920119:13:14:670AM
11SELECT CONVERT(varchar(100), GETDATE(), 10) 05-09-11
12SELECT CONVERT(varchar(100), GETDATE(), 11) 11/05/09
13SELECT CONVERT(varchar(100), GETDATE(), 12) 110509
14SELECT CONVERT(varchar(100), GETDATE(), 13) 0905201109:13:14:670
15SELECT CONVERT(varchar(100), GETDATE(), 14) 09:13:14:670
16SELECT CONVERT(varchar(100), GETDATE(), 20) 2011-05-0909:13:14
17SELECT CONVERT(varchar(100), GETDATE(), 21) 2011-05-0909:13:14.670
18SELECT CONVERT(varchar(100), GETDATE(), 22) 05/09/119:15:33 AM
19SELECT CONVERT(varchar(100), GETDATE(), 23) 2011-05-09
20SELECT CONVERT(varchar(100), GETDATE(), 24) 09:15:33
21SELECT CONVERT(varchar(100), GETDATE(), 25) 2011-05-0909:15:33.140
22SELECT CONVERT(varchar(100), GETDATE(), 100) 05920119:15AM
23SELECT CONVERT(varchar(100), GETDATE(), 101) 05/09/2011
24SELECT CONVERT(varchar(100), GETDATE(), 102) 2011.05.09
25SELECT CONVERT(varchar(100), GETDATE(), 103) 09/05/2011
26SELECT CONVERT(varchar(100), GETDATE(), 104) 09.05.2011
27SELECT CONVERT(varchar(100), GETDATE(), 105) 09-05-2011
28SELECT CONVERT(varchar(100), GETDATE(), 106) 09052011
29SELECT CONVERT(varchar(100), GETDATE(), 107) 0509, 2011
30SELECT CONVERT(varchar(100), GETDATE(), 108) 09:16:38
31SELECT CONVERT(varchar(100), GETDATE(), 109) 05920119:16:38:543AM
32SELECT CONVERT(varchar(100), GETDATE(), 110) 05-09-2011
33SELECT CONVERT(varchar(100), GETDATE(), 111) 2011/05/09
34SELECT CONVERT(varchar(100), GETDATE(), 112) 20110509
35SELECT CONVERT(varchar(100), GETDATE(), 113) 0905201109:17:19:857
36SELECT CONVERT(varchar(100), GETDATE(), 114) 09:17:19:857
37SELECT CONVERT(varchar(100), GETDATE(), 120) 2011-05-0909:17:19
38SELECT CONVERT(varchar(100), GETDATE(), 121) 2011-05-0909:17:19.857
39SELECT CONVERT(varchar(100), GETDATE(), 126) 2011-05-09T09:17:19.857
40SELECT CONVERT(varchar(100), GETDATE(), 130)  6 ????? ??????? 14329:17:19:857AM 41SELECT CONVERT(varchar(100), GETDATE(), 131)  6/06/14329:17:19:857AM