SQL DATENAME

SQL Server 的 DATENAME 函数用于从现有日期中提取或显示指定的日期部分。此 DATENAME 函数始终返回字符串数据。例如,如果要从现有日期中提取月份名称或星期名称(星期日...星期六),请使用此 Datename 函数。

SQL DATENAME 语法

datename 函数的基本语法如下所示。

DATENAME (Datepart, Date)

Datepart:这是给定日期中我们将作为输出显示的部分。下表将显示 SQL Server 中可用 datepart 参数的列表。

日期部分缩写描述
yy, yyyy这将显示毫秒值。
季度qq, q显示给定日期的季度值。
mm, m显示给定日期的月份名称。
年中的第几天dy, y一年中的日期编号,从 1 到 365。
dd, d一年中的日期编号,从 1 到 365。
wk, ww显示给定日期的星期名称(星期日到星期六)。
星期几dw, w指定日期中的分钟值。
小时hh它返回小时值。
分钟mi, n指定日期中的分钟值。
ss, s这将显示毫秒值。
毫秒ms这将显示毫秒值。
微秒mcs此 Datename 将显示可用的微秒值。
纳秒nssql datename 函数中的此参数将显示纳秒值。
TZOffsettz这将显示时区偏移值。
ISO_WEEKisowk, isoww这将显示 ISO 星期编号。

Date:请将有效日期作为此 datename 函数的第二个参数指定。它可以是列、表达式或任何变量。

SQL Server DATENAME 示例

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

首先,我们声明了一个变量并为该变量分配了日期和时间。第一个 Datename 语句将显示年份,而下面的语句将打印月份。

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

DATENAME 函数示例 2

在此 SQL Server 示例中,我们使用一个自定义表对 HireDate 列执行 Datename 操作。

Datename 函数将在第五行打印 HireDate 列的年份值。第六行将显示 HireDate 列的季度值。

SELECT [FirstName] + ' '+ [LastName] AS [Full Name]
      ,[Occupation]
      ,[YearlyIncome]
      ,[HireDate]
      ,DATENAME(year, [HireDate]) AS [YEAR]
      ,DATENAME(quarter, [HireDate]) AS [QUARTER]
      ,DATENAME(month, [HireDate]) AS [MONTH]
      ,DATENAME(day, [HireDate]) AS [DAY]
      ,DATENAME(dayofyear, [HireDate]) AS [TOTAL DAYS]
FROM [Employee]
DATENAME Function Example 2