10
votes

Comment obtenir le premier jour et le dernier mois précédent à l'aide de SQL

J'essaie d'obtenir le premier jour du mois dernier du 01/01/2013, je veux aussi obtenir le dernier jour du mois précédent comme le 13/01/2013. Si nous sommes en mars, je veux faire la même chose du 02/01/2013 et 02/28/2013 et ainsi de suite .... merci


4 Réponses :


32
votes

Cela devrait le faire:

--First day of last month
SELECT DATEADD(m,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()), 0))
--Last day of last month
SELECT DATEADD(d,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))


0 commentaires

0
votes

Voici ma solution

DECLARE @Today DATETIME
SELECT @Today = GETDATE()

  update  Test.dbo.DateTable
  set StartDate = (
SELECT convert (varchar, DATEADD(dd,-(DAY(DATEADD(mm,1,@Today))-1),DATEADD(mm,-1,@Today)),101))

update Test.dbo.DateTable
set EndDate = (
SELECT convert(varchar, DATEADD(dd, -DAY(DATEADD(m,1,@Today)), DATEADD(m,0,@Today)),101))


0 commentaires

0
votes

premier jour du dernier mois xxx

dernier jour du mois précédent xxx


0 commentaires

-1
votes

La requête suivante travaille pour trouver le dernier jour du mois précédent de mon plus ancien MySQL:

SELECT DATE_SUB(CURDATE(),INTERVAL Extract(DAY from now()) DAY);


1 commentaires

La question est marquée "SQL Server"