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字串函數