SQL Server 函数

SQL Server (Transact-SQL) DATEPART() 函数以整数值形式返回给定日期的指定部分。

语法

DATEPART(datepart, date) 

参数

datepart

必需. 指定要从日期检索的单位类型。它可以是以下值之一:

日期部分简写
yearyy, yyyy
quarterqq, q
monthmm, m
dayofyeardy, y
daydd, d
weekwk, ww
weekdaydw, w
hourhh
minutemi, n
secondss, s
millisecondms
microsecondmcs
nanosecondns
tzoffsettz
iso_weekisowk, isoww
date必需. 指定用于检索日期部分值的日期。.

返回值

返回表示指定日期的指定日期部分的整数.

示例 1:

下面的示例显示了 DATEPART() 函数的用法。

SELECT DATEPART(year, '2019-10-25');
Result: 2019

SELECT DATEPART(yyyy, '2019-10-25');
Result: 2019

SELECT DATEPART(yy, '2019-10-25');
Result: 2019

SELECT DATEPART(quarter, '2019-10-25');
Result: 4

SELECT DATEPART(month, '2019-10-25');
Result: 10

SELECT DATEPART(week, '2019-10-25 08:10:25');
Result: 43

SELECT DATEPART(day, '2019-10-25');
Result: 25

SELECT DATEPART(hh, '2019-10-25 08:10:25');
Result: 8

SELECT DATEPART(hh, '2019-10-25 08:10:25');
Result: 8

SELECT DATEPART(mi, '2019-10-25 08:10:25');
Result: 10

SELECT DATEPART(ss, '2019-10-25 08:10:25');
Result: 25 

示例 2:

考虑一个名为 Orders 的数据库表,其中包含以下记录:

OrderQuantityPriceOrderTime
1001.582017-08-18 10:38:42
1201.612018-03-23 07:14:16
1251.782018-09-12 05:25:56
501.802019-01-16 11:52:05
2001.722020-02-06 09:31:34

下面给出的语句可用于获取月份OrderTime列的部分记录:

SELECT *, DATEPART(month, OrderTime) AS DATEPART_Value FROM Orders; 

这将产生如下所示的结果:

OrderQuantityPriceOrderTimeDATEPART_Value
1001.582017-08-18 10:38:428
1201.612018-03-23 07:14:163
1251.782018-09-12 05:25:569
501.802019-01-16 11:52:051
2001.722020-02-06 09:31:342