SQL Server裡獲得不包含時間部分的日期

iSQlServer發表於2009-03-30

在本文中,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

大家可以發現,用這種方法獲得日期部分將會更加方便,與這種方法比較Datename()函式的好處就是在於得到日期的具體部分。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-580670/,如需轉載,請註明出處,否則將追究法律責任。

相關文章