1. 程式人生 > >SQL 時間轉換

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

SELECT CONVERT(varchar(100), GETDATE(), 0) 05  9 2011  9:12AM
 SELECT CONVERT(varchar(100), GETDATE(), 1) 05/09/11
SELECT CONVERT(varchar(100), GETDATE(), 2) 11.05.09
SELECT CONVERT(varchar(100), GETDATE(), 3) 09/05/11
SELECT CONVERT(varchar
(100), GETDATE(), 4) 09.05.11 SELECT CONVERT(varchar(100), GETDATE(), 5) 09-05-11 SELECT CONVERT(varchar(100), GETDATE(), 6) 09 05 11 SELECT CONVERT(varchar(100), GETDATE(), 7) 05 09, 11 SELECT CONVERT(varchar(100), GETDATE(), 8) 09:13:14 SELECT CONVERT(varchar(100), GETDATE(), 9) 05 9 2011 9:13:14:670AM SELECT CONVERT(varchar(100), GETDATE(), 10) 05-09-11 SELECT CONVERT(varchar(100), GETDATE(), 11) 11/05/09 SELECT CONVERT(varchar(100), GETDATE(), 12) 110509 SELECT CONVERT(varchar(100), GETDATE(), 13) 09 05 2011 09:13:14:670 SELECT CONVERT(varchar(100), GETDATE(), 14) 09:13:14:670 SELECT CONVERT(varchar(100), GETDATE(), 20) 2011-05-09 09:13:14 SELECT CONVERT(varchar(100), GETDATE(), 21) 2011-05-09 09:13:14.670 SELECT CONVERT(varchar(100), GETDATE(), 22) 05/09/11 9:15:33 AM SELECT CONVERT(varchar(100), GETDATE(), 23) 2011-05-09 SELECT CONVERT(varchar(100), GETDATE(), 24) 09:15:33 SELECT CONVERT(varchar(100), GETDATE(), 25) 2011-05-09 09:15:33.140 SELECT CONVERT(varchar(100), GETDATE(), 100) 05 9 2011 9:15AM SELECT CONVERT(varchar(100), GETDATE(), 101) 05/09/2011 SELECT CONVERT(varchar(100), GETDATE(), 102) 2011.05.09 SELECT CONVERT(varchar(100), GETDATE(), 103) 09/05/2011 SELECT CONVERT(varchar(100), GETDATE(), 104) 09.05.2011 SELECT CONVERT(varchar(100), GETDATE(), 105) 09-05-2011 SELECT CONVERT(varchar(100), GETDATE(), 106) 09 05 2011 SELECT CONVERT(varchar(100), GETDATE(), 107) 05 09, 2011 SELECT CONVERT(varchar(100), GETDATE(), 108) 09:16:38 SELECT CONVERT(varchar(100), GETDATE(), 109) 05 9 2011 9:16:38:543AM SELECT CONVERT(varchar(100), GETDATE(), 110) 05-09-2011 SELECT CONVERT(varchar(100), GETDATE(), 111) 2011/05/09 SELECT CONVERT(varchar(100), GETDATE(), 112) 20110509 SELECT CONVERT(varchar(100), GETDATE(), 113) 09 05 2011 09:17:19:857 SELECT CONVERT(varchar(100), GETDATE(), 114) 09:17:19:857 SELECT CONVERT(varchar(100), GETDATE(), 120) 2011-05-09 09:17:19 SELECT CONVERT(varchar(100), GETDATE(), 121) 2011-05-09 09:17:19.857 SELECT CONVERT(varchar(100), GETDATE(), 126) 2011-05-09T09:17:19.857 SELECT CONVERT(varchar(100), GETDATE(), 130) 6 ????? ??????? 1432 9:17:19:857AM SELECT CONVERT(varchar(100), GETDATE(), 131) 6/06/1432 9:17:19:857AM