EOMONTH (Transact-SQL)
適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)
此函式會以選擇性位移,傳回包含指定日期的當月最後一天。
提示
您可以使用 DATETRUNC 來計算月份的開始時間。
Syntax
EOMONTH ( start_date [ , month_to_add ] )
注意
若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔。
引數
start_date
日期運算式,指定要傳回當月最後一天的日期。
month_to_add
選擇性整數運算式,指定要新增至 start_date 的月數。
如果 month_to_add 引數具有值,則 EOMONTH
會將指定月數新增至 start_date,然後傳回當月最後一天作為結果日期。 如果這個加法溢位有效的日期範圍,則 EOMONTH
引發錯誤。
傳回類型
date
備註
函 EOMONTH
式可以遠端至執行 SQL Server 2012 (11.x) 和更新版本的實例。 SQL Server 2012 (11.x) 之前的版本無法遠端連線到實例。
範例
A. 具明確日期時間類型的 EOMONTH
DECLARE @date DATETIME = '12/1/2022';
SELECT EOMONTH ( @date ) AS Result;
GO
以下為結果集。
Result
------------
2022-12-31
(1 row(s) affected)
B. 具有字串參數及明確轉換的 EOMONTH
DECLARE @date VARCHAR(255) = '12/1/2022';
SELECT EOMONTH ( @date ) AS Result;
GO
以下為結果集。
Result
------------
2022-12-31
(1 row(s) affected)
C. 具有和不具有 month_to_add 參數的 EOMONTH
這些結果集中顯示的值反映且包含 12/01/2022
和 12/31/2022
之間的執行日期。
DECLARE @date DATETIME = GETDATE();
SELECT EOMONTH ( @date ) AS 'This Month';
SELECT EOMONTH ( @date, 1 ) AS 'Next Month';
SELECT EOMONTH ( @date, -1 ) AS 'Last Month';
GO
以下為結果集。
This Month
-----------------------
2022-12-31
(1 row(s) affected)
Next Month
-----------------------
2022-01-31
(1 row(s) affected)
Last Month
-----------------------
2022-11-30
(1 row(s) affected)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應