在本文中,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 表達式時,當前年份都會插入到代碼之中。這樣就可以書寫適用于不同年份的程序代碼。