在本文中,GetDate()獲得的日期由兩部分組成,分別是今天的日期和當時的時間: Select GetDate() 
用DateName()/DatePart()就可以獲得相應(yīng)的年、月、日,然后再把它們連接起來就可以了:

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,可大多數(shù)的情況我們只想得到他的日期部分,而不許要后面的時間。上一篇中提到用Datename()函數(shù)來截取拼接出不包含時間部分的日期,現(xiàn)在再說一種方法,更加簡單的獲取到不包含時間的日期!


使用Convert()函數(shù):

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

* 第3個參數(shù)就是用來設(shè)置日期類型數(shù)據(jù)的顯示樣式的,下面介紹幾種樣式的參數(shù):

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
----------------------
DatePart函數(shù) 返回   
返回一個包含已知日期的指定時間部分的 Variant (Integer)。   
語法   
DatePart(interval, date[,firstdayofweek[, firstweekofyear]])   
DatePart 函數(shù)語法中有下列命名參數(shù):   
部分 描述   
interval 必要。字符串表達式,是要返回的時間間隔。   
date 必要。要計算的 Variant (Date) 值。   
Firstdayofweek 可選。指定一個星期的第一天的常數(shù)。如果未予指定,則以星期日為第一天。   
firstweekofyear 可選。指定一年第一周的常數(shù)。如果未予指定,則以包含 1 月 1 日的星期為第一周。   
設(shè)置   
interval 參數(shù)的設(shè)定值如下:   
設(shè)置 描述   
yyyy 年   
q 季   
m 月   
y 一年的日數(shù)   
d或dd 日   
w或dw 一周的日數(shù)   
ww 周   
h 時   
n 分鐘   
s 秒   
firstdayofweek 參數(shù)的設(shè)定值如下:   
常數(shù) 值 描述   
vbUseSystem 0 使用 NLS API 設(shè)置。   
vbSunday 1 星期日(缺省值)   
vbMonday 2 星期一   
vbTuesday 3 星期二   
vbWednesday 4 星期三   
vbThursday 5 星期四   
vbFriday 6 星期五   
vbSaturday 7 星期六   
firstweekofyear 參數(shù)的設(shè)定值如下:   
常數(shù) 值 描述   
vbUseSystem 0 使用 NLS API 設(shè)置。   
vbFirstJan1 1 從包含 1 月 1 日的星期開始(缺省值)。   
vbFirstFourDays 2 從第一個其大半個星期在新的一年的一周開始。   
vbFirstFullWeek 3 從第一個無跨年度的星期開始。   
說明   
DatePart 函數(shù)可以用來計算日期并返回指定的時間間隔。例如,可以使用DatePart 計算某個日期是星期幾或目前為幾點鐘。   firstdayofweek 參數(shù)會影響使用時間間隔符號 “W” 或 “WW” 計算的結(jié)果。   
如果 date 是日期文字,則指定的年份成為該日期的固定部分。但是,如果 date 用雙引號(“”)括起來,且年份略而不提,則在每次計算 date 表達式時,當前年份都會插入到代碼之中。這樣就可以書寫適用于不同年份的程序代碼。