ho bisogno di trovare l'ultimo giorno del mese nel seguente formato:SQL query per trovare l'ultimo giorno del mese
"2013-05-31 00:00:00:000"
Chiunque si prega di dare una mano.
ho bisogno di trovare l'ultimo giorno del mese nel seguente formato:SQL query per trovare l'ultimo giorno del mese
"2013-05-31 00:00:00:000"
Chiunque si prega di dare una mano.
Provate questo -
CREATE FUNCTION [dbo].[udf_GetLastDayOfMonth]
(
@Date DATETIME
)
RETURNS DATETIME
AS
BEGIN
RETURN DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @Date) + 1, 0))
END
Query:
DECLARE @date DATETIME
SELECT @date = '2013-05-31 15:04:10.027'
SELECT DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @date) + 1, 0))
uscita:
-----------------------
2013-05-31 00:00:00.000
Ricorda che se stai usando questo in un'istruzione tra per ottenere (ad esempio) tutti i record per un dato mese, questo escluderà i record dall'ultimo giorno. Potrebbe essere necessario utilizzare il primo giorno del mese successivo. – SteveCav
declare @date datetime;
set @date = getdate(); -- or some date
select dateadd(month,1+datediff(month,0,@date),-1);
So che questo la domanda era per SQL Server 2005, ma ho pensato di menzionare - a partire da SQL 2012, ora c'è una funzione EOMONTH()
che ottiene l'ultimo giorno del mese. Per ottenerlo nel formato specificato dal richiedente originale dovresti trasmettere a un datetime
.
SELECT CAST(eomonth(GETDATE()) AS datetime)
http://php.net/manual/en/function.cal-days-in-month.php
La lunghezza in giorni del mese selezionato nel calendario data
<?php
$num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "There was $num days in August 2003";
?>
Non è proprio quello che la domanda sta ponendo, né qualcuno ha parlato di usare PHP. – Matt
dateadd(month,1+datediff(month,0,getdate()),-1)
Per controllare run:
print dateadd(month,1+datediff(month,0,@date),-1)
calcolare la data ultima di il mese è abbastanza semplice calcolo -
Output - 1374, se GETDATE() in uscita è "2014/07/23 19: 33: 46,850"
Output - 1375, se GETDATE() in uscita è "2014/07/23 19: 33: 46,850"
uscita - '2014/08/01 00: 00: 00.000', se GETDATE() in uscita è "2014/07/23 19: 33: 46,850"
uscita - '2014/07/31 00:00:00.000' , se GETDATE() in uscita è '2014/07/23 19: 33: 46,850'
Allo stesso modo di calcolo possiamo raggiungere il - 1. Ultima data del prossimo mese 2. Ultima data di il mese precedente e così via ...
Spero che questo articolo possa essere d'aiuto.
SQL Server 2012 introduce the eomonth
function:
select eomonth('2013-05-31 00:00:00:000')
-->
2013-05-31
Select DATEADD (DAY, - (DAY (DATEADD (MESE, 1, GETDATE()))), DATEADD (mese, 1, GETDATE()))
Questa grande opera in T-SQL ..
Sostituire la GETDATE() della query con il nome della colonna.
TO FIND 1ST and Last day of the Previous, Current and Next Month in Oracle SQL
-----------------------------------------------------------------------------
SELECT
SYSDATE,
LAST_DAY(ADD_MONTHS(SYSDATE,-2))+1 FDPM,
LAST_DAY(ADD_MONTHS(SYSDATE,-1)) LDPM,
LAST_DAY(ADD_MONTHS(SYSDATE,-1))+1 FDCM,
LAST_DAY(SYSDATE)LDCM,
LAST_DAY(SYSDATE)+1 FDNM,
LAST_DAY(LAST_DAY(SYSDATE)+1) LDNM
FROM DUAL
Wecome to StackOverflow! Ti preghiamo di aggiungere alcune spiegazioni al tuo codice. Grazie. – Aurasphere
possibile duplicato [Prendi l'ultimo giorno del mese in SQL] (http://stackoverflow.com/questions/1051488/get-the-last-day-of-the-month-in-sql) – Pondlife
consulta https://codepedia.info/eomonth-last-date-month-in-sql-server/ –