SQL Server DATEPART 函数
在 SQL Server 中,DATEPART()
函数返回一个整数,表示给定日期的特定部分,例如日、月、年、小时、秒等。
DATEPART()
和 DATENAME() 类似,只是返回类型不同。DATEPART 返回 int,DATENAME 返回 nvarchar。
DATEPART (datepart, date)
参数
datepart: 日期参数的特定部分,DATEPART()
函数将为其返回一个整数。下表列出了所有有效的 datepart 值
datepart | datepart 缩写 |
---|---|
年 | y, yy, yyyy |
季度 | qq, q |
月 | mm, m |
一年中的第几天 | dy |
日 | dd, d |
周 | wk, ww |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微秒 | mcs |
纳秒 | ns |
tzoffset | tz |
iso_week | isowk, isoww |
date: 可以解析为以下数据类型之一的日期或日期字符串:date、datetime、datetime2、time、smalldatetime 或 datetimeoffset。它可以是字符串、用户定义变量或表列。
返回值
DATEPART 返回一个整数,表示给定日期的日期部分。
获取日期的月份
在以下示例中,DATEPART()
函数将给定日期的月份作为整数返回。
示例:获取当前月份数字
SELECT GETDATE() AS Today,
DATEPART(mm, GETDATE()) AS CurrentMonth
上面,DATEPART()
函数返回当前日期的月份数字。GETDATE() 函数返回当前日期时间值。

获取日期的不同部分
在以下示例中,DATEPART()
方法返回给定日期的所有日期部分值。
示例:DATEPART() 函数
SELECT DATEPART (mm, '04/20/2021 9:45:52.564722') AS Month
,DATEPART (d, '04/20/2021 9:45:52.564722') AS Day
,DATEPART (yy, '04/20/2021 9:45:52.564722') AS Year
,DATEPART (hh, '04/20/2021 9:45:52.564722') AS Hour
,DATEPART (minute, '04/20/2021 9:45:52.564722') AS Minute
,DATEPART (s, '04/20/2021 9:45:52.564722') AS Second
,DATEPART (ms, '04/20/2021 9:45:52.564722') AS MilliSecond
,DATEPART (mcs, '04/20/2021 9:45:52.564722') AS MicroSecond
,DATEPART (q, '04/20/2021 9:45:52.564722') AS Quarter
,DATEPART (dayofyear, '04/20/2021 9:45:52.564722') AS DayOfYear
,DATEPART (wk, '04/20/2021 9:45:52.564722') AS Week
在上面的示例中,我们在 DATEPART()
函数中传递了不同的日期部分值。它将显示以下结果

将 DATEPART 与列一起使用
在以下示例中,DATEPART
函数与 Employee
表的 HireDate
列一起使用,并返回雇佣员工的季度和年份。
示例:DATEPART() 与列一起使用
SELECT EmployeeID, DATEPART(q, HireDate) AS QuarterHired,
DATEPART(yy, HireDate) AS YearHired FROM Employee;
