SqlSkull

SQL EOMONTH() är en datumfunktion som returnerar den sista dagen i månaden för ett angivet datum, med en valfri offset.

SYNTAX

EOMONTH (Date, )

Datum är ett datum som används för att få fram en sista dag i månaden.

Det andra argumentet offset är ett heltal som anger det antal månader som ska läggas till datumet .

Positivt offset-värde returnerar nästa månads sista dag och negativt offset-värde returnerar föregående månads sista dag.

Låt oss titta på ett exempel på funktionen EOMONTH() i SQL Server.

Användning av EOMONTH-funktionen för att få fram månadens sista dag för ett visst datum

Följande anvisning använder EOMONTH-funktionen och returnerar månadens sista dag för ett visst datum.

DECLARE @orderdate AS DATETIMESET @orderdate ='1996-07-15 00:00:00.000' SELECT EOMONTH(@orderdate) AS 

Som du kan se returnerar det en sista dag i månaden för datum =’1996-07-15 00:00:00:00.000′. Här anger vi ingen förskjutning eftersom vi bara vill ha den sista dagen i det givna datumet.

Användning av EOMONTH-funktionen för att få den sista dagen i nästa månad från det givna datumet

Följande uttalande använder EOMONTH-funktionen och returnerar den sista dagen i nästa månad från det givna datumet.

Här har vi angett ett förskjutningsvärde på 1, vilket innebär att EOMONTH month lägger till 1 månad till det inmatade datumet ”1996-07-15 00:00:00:00.000” och returnerar nästa månads sista dag.

DECLARE @orderdate AS DATETIMESET @orderdate ='1996-07-15 00:00:00.000' SELECT EOMONTH(@orderdate, 1) AS 

Du kan också skicka ett positivt förskjutningsvärde, t.ex. 3, 4,…och så vidare för att få det önskade resultatet.

Användning av EOMONTH-funktionen för att få fram sista dagen i föregående månad från ett givet datum

I följande exempel använder det första uttalandet EOMONTH-funktionen och returnerar sista dagen i föregående månad från ett givet datum, och det andra uttalandet returnerar sista dagen i tredje föregående månad för ett givet datum.

DECLARE @orderdate AS DATETIME

SET @orderdate ='1996-07-15 00:00:00.000' SELECT EOMONTH(@orderdate,-1) AS select EOMONTH(@orderdate,-3) as 

I det första uttalandet har vi angett ett förskjutningsvärde på -1 för att få fram den sista dagen i föregående månad från datumet ”1996-07-15 00:00:00:00.000” .

I det andra uttalandet är förskjutningsvärdet -3 för att få fram den sista dagen i månaden, dvs. den tredje föregående månaden, från datumet ”1996-07-15 00:00:00:00.000”.

Som du kan se är resultatet av det första uttalandet den sista dagen i föregående månad, dvs. JUNI, eftersom månaden för det aktuella datumet är JULI, så resultatet är ’1996-06-30’.
På samma sätt är resultatet av det andra uttalandet den sista dagen i den tredje föregående månaden, dvs. april, eftersom månaden för det aktuella datumet är juli, så den tredje föregående månaden är april och den sista dagen i april är ”1996-04-30”.
Om du bara vill ha en del av en dag från datumet kan du använda funktionen DAY() för att få fram bara den sista dagen från datumet.
DECLARE @orderdate AS DATETIMESET @orderdate ='1996-07-15 00:00:00.000' SELECT DAY(EOMONTH(@orderdate,-1)) AS select DAY(EOMONTH(@orderdate,-3)) as 
Läs också…
SQL Basics Tutorial SQL Advance Tutorial SSRS Interview Q & A
SQL Skapa tabell SQL Server Stored Procedure Skapa ett nytt SSRS-projekt Lista över grundläggande kunskaper om SQL Server till intervju på avancerad nivå Q & A
SQL ALTER TABLE SQL Server Merge Skapa en delad datakälla i SSRS SQL Server Question & Svar Quiz
SQL Drop SQL Server Pivot Skapa en SSRS Tabular Report / Detail Report
….. Mer …. Mer ….Mer
Power BI Tutorial Azure Tutorial Python Tutorial SQL Server Tips & Tricks
Ladda ner och installera Power BI Desktop Skapa ett Azure-lagringskonto Lär dig Python & ML Steg för steg Aktivera mörkt tema i SQL Server Management studio
Ansluta Power BI till SQL Server Överför filer till Azure-lagringsbehållare SQL Server Template Explorer
Skapa ToolTip-sidor för rapporter i Power BI Skapa Azure SQL-databasserver Visa radnummer i fönstret för frågeeditorn
….Mer ….More ….More

556 totala visningar, 10 visningar idag

Lämna ett svar

Din e-postadress kommer inte publiceras.