返回代表指定日期的指定日期部分的整數(shù)。
DATEPART ( datepart , date )
datepart
是指定應(yīng)返回的日期部分的參數(shù)。下表列出了 Microsoft® SQL Server™ 識(shí)別的日期部分和縮寫。
| 日期部分 | 縮寫 |
|---|---|
| year | yy, yyyy |
| quarter | qq, q |
| month | mm, m |
| dayofyear | dy, y |
| day | dd, d |
| week | wk, ww |
| weekday | dw |
| Hour | hh |
| minute | mi, n |
| second | ss, s |
| millisecond | ms |
week (wk, ww) 日期部分反映對 SET DATEFIRST 作的更改。任何一年的 1 月 1 日定義了 week 日期部分的開始數(shù)字,例如:DATEPART(wk, 'Jan 1, xxxx') = 1,此處 xxxx 代表任一年。
weekday (dw) 日期部分返回對應(yīng)于星期中的某天的數(shù),例如:Sunday = 1、Saturday = 7。weekday 日期部分產(chǎn)生的數(shù)取決于 SET DATEFIRST 設(shè)定的值,此命令設(shè)定星期中的第一天。
date
是返回 datetime 或 smalldatetime 值或日期格式字符串的表達(dá)式。對 1753 年 1 月 1 日之后的日期用datetime 數(shù)據(jù)類型。更早的日期存儲(chǔ)為字符數(shù)據(jù)。當(dāng)輸入 datetime 值時(shí),始終將其放入引號(hào)中。因?yàn)?smalldatetime 只精確到分鐘,所以當(dāng)用 smalldatetime 值時(shí),秒和毫秒總是 0。
如果只指定年份的最后兩位數(shù)字,則小于或等于"兩位數(shù)年份截止期"配置選項(xiàng)的值的最后兩位數(shù)字的數(shù)字所在世紀(jì)與截止年所在世紀(jì)相同。大于該選項(xiàng)的值的最后兩位數(shù)字的數(shù)字所在世紀(jì)為截止年所在世紀(jì)的前一個(gè)世紀(jì)。例如,如果 two digit year cutoff 為 2049 (默認(rèn)),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數(shù)的年份。
有關(guān)時(shí)間值指定的更多信息,請參見時(shí)間格式。有關(guān)日期指定的更多信息,請參見 datetime 和 smalldatetime。
int
DAY、MONTH、和 YEAR 函數(shù)分別是 DATEPART(dd, date)、DATEPART(mm, date)、和 DATEPART(yy, date) 的同義詞。
GETDATE 函數(shù)返回當(dāng)前日期;然而,比較時(shí)并不總是需要完整的日期信息(通常只是對日期的一部分進(jìn)行比較)。此示例顯示 GETDATE 及 DATEPART 的輸出。
SELECT GETDATE() AS 'Current Date'
GO
下面是結(jié)果集:
Current Date
---------------------------
Feb 18 1998 11:46PM
SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO
下面是結(jié)果集:
Month Number
------------
2
此示例假設(shè)日期是 5 月 29 日。
SELECT DATEPART(month, GETDATE())
GO
下面是結(jié)果集:
-----------
5
(1 row(s) affected)
在此示例中,以數(shù)字表示日期。注意:SQL Server 將 0 解釋為 01/01/1900。
SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)
下面是結(jié)果集:
----- ------ ------
1 1 1900
相關(guān)文章