EOMONTH (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Questa funzione restituisce l'ultimo giorno del mese contenente una data specificata, con una differenza facoltativa.

Suggerimento

È possibile usare DATETRUNC per calcolare l'inizio del mese.

Convenzioni di sintassi Transact-SQL

Sintassi

EOMONTH ( start_date [ , month_to_add ] )

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

start_date

Espressione date che specifica la data per cui restituire l'ultimo giorno del mese.

month_to_add

Espressione Integer facoltativa che specifica il numero di mesi da aggiungere a start_date.

Se l'argomento month_to_add ha un valore, EOMONTH aggiunge il numero di mesi specificato a start_date, quindi restituisce l'ultimo giorno del mese della data risultante. Se questa aggiunta supera l'intervallo valido di date, EOMONTH genera un errore.

Tipi restituiti

date

Osservazioni:

La EOMONTH funzione può essere remota alle istanze che eseguono SQL Server 2012 (11.x) e versioni successive. Non può essere remoto alle istanze con una versione precedente a SQL Server 2012 (11.x).

Esempi

R. EOMONTH con tipo datetime esplicito

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

Questo è il set di risultati.

Result
------------
2022-12-31

(1 row(s) affected)

B. EOMONTH con parametro di tipo stringa e conversione implicita

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

Questo è il set di risultati.

Result
------------
2022-12-31

(1 row(s) affected)

C. EOMONTH con e senza il parametro month_to_add

I valori illustrati in questi set di risultati rispecchiano una data di esecuzione inclusa tra 12/01/2022 e 12/31/2022 inclusi.

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

Questo è il set di risultati.

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)