Database
 sql >> Base de données >  >> RDS >> Database

Comment obtenir la date d'hier dans T-SQL

Problème :

Vous souhaitez afficher la date d'hier (sans l'heure) dans une base de données SQL Server.

Solution :

SELECT DATEADD(day, -1, CAST(GETDATE() AS date)) AS YesterdayDate;

En supposant qu'aujourd'hui soit le 2020-09-24, le résultat est :

date_hier
2020-09-23

Discussion :

Pour obtenir la date d'hier, vous devez soustraire un jour à la date d'aujourd'hui. Utilisez GETDATE() pour obtenir la date d'aujourd'hui (le type est datetime ) et castez-le en date . Dans SQL Server, vous pouvez soustraire ou ajouter n'importe quel nombre de jours à l'aide de DATEADD() fonction.

Le DATEADD() la fonction prend trois arguments :datepart , number , et date . Ici, la valeur de datepart est day , car l'unité de temps que vous souhaitez soustraire est le jour. Le deuxième argument est -1 (vous soustrayez 1 jour, ce qui revient à ajouter -1 jour). Le troisième argument est la date d'aujourd'hui, la date à partir de laquelle vous souhaitez soustraire.

Bien sûr, vous pouvez revenir en arrière par n'importe quel intervalle de temps tout aussi facilement. Voici un exemple :

SELECT DATEADD(month, -5, CAST(GETDATE() AS date));

Un intervalle de temps peut également être added à une date. Donc, voici un moyen si vous voulez obtenir la date de demain :

SELECT DATEADD(day, 1, CAST(GETDATE() AS date)) AS TomorrowDate;