Comment obtenir le dernier date du mois de SQL Server 2008
J'ai créé une fonction "ufngetFirstDateOfMonth" et "ufngetLastDateOfMonth" stockées dans Microsoft SQL Server 2008. Mon but est d'envoyer une certaine date dans la fonction et il sera de retour au premier jour du mois avec '00:00:00' ou la date du dernier mois, avec le '23:59:59'.
J'ai appeler la fonction comme ceci:
exec ufngetLastDateOfMonth('2014-10-15')
et, normalement, il revient "2014-10-31 23:59:59'
mais quand j'envoie la date du dernier mois ont 31 jours (août, janvier,...):
exec ufngetLastDateOfMonth('2014-10-31')
il retour "2014-10-30 23:59:59' ouragans est pas correct Actally, il devrait être "2014-10-31 23:59:59'
Quelque chose se passe mal ici...
C'est ma fonction:
CREATE FUNCTION [dbo].[ufnLastDateOfMonth](@Date date)
RETURNS varchar(50)
AS
BEGIN
DECLARE @New_Date varchar(50)
select @New_date = cast(dateadd(dd,-(DAY(@Date )),DATEADD(mm,1,@Date ))as varchar(50)) + ' 23:59:59'
RETURN @New_Date
END
Qu'en "dernier jour du mois est un jour avant le 1er du mois prochain 😉
EOMONTH() a besoin de SQL Server 2012
EOMONTH()
? pas sûr que dans sql server 2008EOMONTH() a besoin de SQL Server 2012
OriginalL'auteur Phattharawit Sombatrat | 2014-10-30
Vous devez vous connecter pour publier un commentaire.
Pour obtenir le dernier jour que vous pouvez faire ceci:
De les ajouter à votre fonction:
Source:
SQL SERVER – Trouver Dernier Jour du Mois Courant Précédent Suivant
est 2012+ ce fut un 2008 exigence: msdn.microsoft.com/en-us/library/hh213020.aspx
vous êtes de droite.
OriginalL'auteur Tanner
Pour ceux qui sont à l'aide de SQL Server 2012,
EOMONTH
fonction pourrait être une alternative.Source: https://msdn.microsoft.com/en-us/library/hh213020.aspx
OriginalL'auteur Syakur Rahman
Aller le premier jour du mois. Ajouter un mois. Puis de soustraire un jour. Ou, dans votre cas, une seconde:
Vous devez utiliser
convert()
si vous voulez comme une chaîne de caractères. Je voudrais plutôt suggèrent que la fonction de retour d'undatetime
.OriginalL'auteur Gordon Linoff
Utiliser cette
OU
OriginalL'auteur Manish Sharma
vous pouvez essayer ce
ou ce
OriginalL'auteur Khwahish Batra
Essaie juste de faire ceci:
Remarque:
EOMONTH
fonction est disponible dans version de SQL Server >= 2012OriginalL'auteur Md Shahriar