Sdílet prostřednictvím


EOMONTH (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Tato funkce vrací poslední den měsíce obsahující stanovené datum, s volitelným posunem.

Návod

V SQL Server 2022 (16.x) a novějších verzích můžete použít DATETRUNC k výpočtu začátku měsíce.

Transact-SQL konvence syntaxe

Syntaxe

EOMONTH ( start_date [ , month_to_add ] )

Arguments

start_date

Termín datu, který určuje datum, pro které se vrátí poslední den měsíce.

month_to_add

Volitelný celočíselný výraz, který určuje počet měsíců, které se mají přičíst k start_date.

Pokud má argument month_to_add hodnotu, přičte EOMONTH k start_date určený počet měsíců a poté vrátí poslední den měsíce jako výsledné datum. Pokud toto sčítání překročí EOMONTH platný rozsah dat, vznikne chyba.

Návratové typy

date

Poznámky

Funkce EOMONTH může vzdáleně komunikovat s instancemi běžícími SQL Server 2012 (11.x) a novějšími verzemi. Nemůže vzdáleně komunikovat s instancemi s verzí před SQL Server 2012 (11.x).

Examples

A. EOMONTH s explicitním typem datetime

DECLARE @date DATETIME = '12/1/2024';

SELECT EOMONTH(@date) AS Result;
GO

Tady je soubor výsledků.

Result
------------
2024-12-31

B. EOMONTH s parametrem řetězce a implicitní konverzí

DECLARE @date VARCHAR(255) = '12/1/2024';

SELECT EOMONTH(@date) AS Result;
GO

Tady je soubor výsledků.

Result
------------
2024-12-31

C. Měsíc s parametrem month_to_add i bez něj

Hodnoty uvedené v těchto sadách výsledků odrážejí datum provedení mezi a včetně 12/01/2024 a .12/31/2024

DECLARE @date DATETIME = '2024-12-31';

SELECT EOMONTH(@date) AS 'This Month';
SELECT EOMONTH(@date, 1) AS 'Next Month';
SELECT EOMONTH(@date, -1) AS 'Last Month';
GO

Tady je soubor výsledků.

This Month
-----------------------
2024-12-31

Next Month
-----------------------
2025-01-31

Last Month
-----------------------
2024-11-30