2017-06-04 1 views
1

Je dois obtenir le dernier jour du mois dernier dans SQL Server au format "2017-05-31". Est-ce que quelqu'un sait comment écrire une requête pour cela?Le dernier jour du mois dernier dans SQL Server

+0

Fonction qui retourne la date actuelle dans le format souhaité est: 'DATE_FORMAT (NOW(), '% Y-% m-% d')' –

+3

Il y a ** aucune ** version ** SQL Server ** 2010 ** - nous avons 2000, 2005, 2008, 2008 R2, 2012, 2014 et 2016 (et 2017 à l'horizon) - de laquelle * parlez-vous * ? –

Répondre

5

Il n'existe pas de SQL Server 2010 (à ma connaissance). Dans SQL Server 2012+, vous pouvez utiliser EOMONTH():

select eomonth(dateadd(month, -1, getdate()) 

En fait, dans une version, il est probablement plus simple de le faire:

select dateadd(day, -day(getdate()), getdate()) 

Oh, puis jeté à une date pour se débarrasser du composant de temps:

select cast(dateadd(day, -day(getdate()), getdate()) as date) 
+0

oh mon dieu ..thats exactement ce que je cherchais .... je suis nouveau à sql ... merci beaucoup muchhh .... – kkl

+0

@Kate Vérifiez cela: https://www.w3schools.com/ sql Amusez-vous! ;) –

+0

Salut @Gordon, j'ai un paquet ssis qui n'a pas de colonne last_used_date mais je dois créer un upload de colonne dérivé comme le dernier jour du mois dernier "2017-07-31", sais-tu comment écrire l'expression est colonne dérivée dans le paquet ssis? – kkl