SQL Server Day()函数

在本教程中,将学习如何使用SQL Server DAY()函数从指定日期提取月中的某一天。

SQL Server DAY()函数简介

DAY()函数返回一个整数值,表示指定日期的月份中的第几天(1-31)。

以下是DAY()函数的语法:

DAY(input_date)

DAY()函数接受一个参数,该参数可以是文字日期值,也可以是可以解析为:TIMEDATESMALLDATETIMEDATETIMEDATETIME2DATETIMEOFFSET值的表达式。

DAY()函数返回与以下DATEPART()函数相同的值:

SQL Server DAY()函数示例

下面来看一些使用DAY()函数的例子。

1. DAY()函数使用具有文字日期值示例

此示例使用DAY()函数从2020-12-11日期值中提取日期:

SELECT DAY('2020-12-11') [DAY];

执行上面查询语句,得到以下结果:

DAY
-----------
11

2. DAY()函数返回日期值仅包含时间部分

如果输入日期仅包含时间部分,则DAY()函数将返回1

SELECT DAY('11:22:33') [DAY];

执行上面查询语句,得到以下结果:

DAY
-----------
1

(1 行受影响)

3. DAY()函数与表列示例

下面将使用示例数据库中的sales.orderssales.order_items进行演示。

订单表结构

此示例使用DAY()函数从shipped_date列中的值中提取日期数据。它使用SUM()函数和GROUP BY子句返回2017年2月的销售总额:

SELECT 
    DAY(shipped_date) [day], 
    SUM(list_price * quantity) gross_sales
FROM 
    sales.orders o
    INNER JOIN sales.order_items i ON i.order_id = o.order_id
WHERE 
    shipped_date IS NOT NULL
    AND YEAR(shipped_date) = 2017
    AND MONTH(shipped_date) = 2
GROUP BY 
    DAY(shipped_date)
ORDER BY 
    [day];

执行上面示例代码,得到以下结果:

查询结果

在本教程中,学习了如何使用SQL Server DAY()函数从指定日期提取日期。


上一篇: SQL Server日期函数 下一篇: SQL Server字符串函数