Je ne comprends pas pourquoi, mais de toute façon cette requête ne fonctionne pas ... Je veux prendre la date du système -1 jour où la date système est plus petite d'un jour que la date actuelle.
WHERE
a.SEND_Date >= dateadd(DD,-1,(CAST(getdate() as date) as datetime))
Le CAST dépend du type de date dont vous avez besoin . Si vous avez seulement besoin de comparer des dates, vous pouvez uniquement utiliser:
dateadd(DD, -1, cast(getdate() as date))
Si vous avez besoin de comparer avec la date et l'heure, vous pouvez utiliser:
dateadd(DD,-1,getdate())
Cela vous donnera date-heure comme ceci: 2016-01-11 10:43:57.443
La réponse cochée a toujours le temps (00:00:00), dans ma version quand même. Pour obtenir uniquement la date, utilisez: Sélectionnez Convertir (date, date/heure (jour, -1, getdate ()))
Les deux ont le même poids, 0,001 seconde
Il manque juste un CAST:
dateadd(DD,-1,(CAST(getdate() as date) as datetime))
deux fois "comme" (comme date + comme date/heure) mais une seule fois "CAST" => quelque chose de faux - devrait être:
dateadd(DD,-1,CAST(CAST(getdate() as date) as datetime))