SQL DATEPART

SQL Server DATEPART 函数将从现有日期提取或显示指定的日期部分。此 Datepart 函数始终返回一个整数值。因此,例如,如果要从现有日期提取年份、月份或季度,可以使用此函数。

SQL Server Datepart 函数的语法如下所示。

DATEPART (Datepart, Date)

Date:请将有效日期指定为第二个参数。它可以是列、表达式或任何变量。我们将以输出形式显示给定日期的部分。

以下是可用日期部分参数的列表。

日期部分缩写描述
yy, yyyy它将显示给定年份的值。
季度qq, q它将查找并显示季度编号
mm, m它将查找并显示月份编号
年中的第几天dy, y用户给定日期一年中的天数(1 到 365)
dd, d给定日期中的日数(1 到 31)
wk, ww此函数将返回周数
星期几dw, w给定日期中的星期几编号(0 为星期日,6 为星期六)
小时hh打印小时值。
分钟mi, n分钟值
ss, s秒值
毫秒ms毫秒值
微秒mcs其中的微秒值
纳秒ns打印纳秒值。
时区偏移tz打印时区偏移值。
ISO 周isowk, isoww返回 ISO 周数

SQL Server DATEPART 函数示例

在此 DATEPART 示例中,我们将声明一个 datetime2 数据类型的变量。然后,让我们为该变量分配一个有效日期并执行所有可用操作。

我们声明了一个变量并为该 SQL Server 变量分配了日期和时间。在此,第一个 select 语句打印年份值,下一个打印月份编号。

DECLARE @Date datetime2 = '2015-08-25 14:24:04.1234567'
SELECT 'YEAR' AS [DatePart], DATEPART(year, @Date) AS [New Date] 
UNION ALL
SELECT 'QUARTER', DATEPART(quarter, @Date) 
UNION ALL
SELECT 'MONTH', DATEPART(month, @Date) 
UNION ALL
SELECT 'DAYOFYEAR', DATEPART(dayofyear, @Date) 
UNION ALL
SELECT 'DAY', DATEPART(day, @Date) 
UNION ALL
SELECT 'WEEK', DATEPART(week, @Date) 
UNION ALL
SELECT 'WEEKDAY', DATEPART(weekday, @Date) 
UNION ALL
SELECT 'HOUR', DATEPART (hour, @Date) 
UNION ALL
SELECT 'MINUTE', DATEPART(minute, @Date) 
UNION ALL
SELECT 'SECOND', DATEPART(second, @Date) 
UNION ALL
SELECT 'MILLISECOND', DATEPART(millisecond, @Date) 
UNION ALL
SELECT 'MICROSECOND', DATEPART(microsecond, @Date) 
UNION ALL
SELECT 'NANOSECOND',DATEPART(nanosecond, @Date)
DATEPART Example 1

DATEPART 示例 2

在此 SQL DATEPART 函数示例中,我们使用自定义表之一对 Hire Date 列执行 Datepart 操作。

SELECT [FirstName] + ' '+ [LastName] AS [Full Name]
      ,[Occupation]
      ,[YearlyIncome]
      ,[HireDate]
      ,DATEPART(year, [HireDate]) AS [YEAR]
      ,DATEPART(quarter, [HireDate]) AS [QUARTER]
      ,DATEPART(month, [HireDate]) AS [MONTH]
      ,DATEPART(day, [HireDate]) AS [DAY]
 FROM [Employee]
DATEPART 2

它将显示 HireDate 列中的年份值。

DATEPART(year, [HireDate]) AS [YEAR]

下面的 Date Function 语句将显示 HireDate 列中的季度值。

DATEPART(quarter, [HireDate]) AS [YEAR]