EOMONTH (Transact-SQL)

以選擇性位移,傳回包含指定日期的當月最後一天。

主題連結圖示 Transact-SQL 語法慣例

適用於:SQL Server (SQL Server 2012 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。

語法

EOMONTH ( start_date [, month_to_add ] )

引數

  • start_date
    日期運算式為當月最後一天該傳回者指定日期。

  • month_to_add
    指定要加入 start_date 之月數的選擇性整數運算式。

    如果這個引數是指定的,則 EOMONTH 新增當月指定數字到 start_date,還有傳回當月最後一天做為結果日期。 如果這個加法溢位有效日期範圍,則會引起錯誤。

傳回類型

date

備註

這個函數可以遠端處理到 SQL Server 2012 和更新版本的伺服器。 它無法遠端處理到版本低於 SQL Server 2012 的伺服器。

範例

A.具明確日期時間類型的 EOMONTH

DECLARE @date DATETIME = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO

以下為結果集:

Result
------------
2011-12-31

(1 row(s) affected)

B.具有字串參數及明確轉換的 EOMONTH

DECLARE @date VARCHAR(255) = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO

以下為結果集:

Result
------------
2011-12-31

(1 row(s) affected)

C.具有和不具有 month_to_add 參數的 EOMONTH

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
-----------------------
2011-12-31

(1 row(s) affected)

Next Month
-----------------------
2012-01-31

(1 row(s) affected)

Last Month
-----------------------
2011-11-30

(1 row(s) affected)