2011-03-26 4 views
1

J'ai une requête comme ceci:SQL Server: Date problème de conversion

SELECT  'Last 7 Days' AS Date_Range, CONVERT(smalldatetime, GETDATE()) - 6 AS Begin_Date, CONVERT(smalldatetime, GETDATE()) 
         AS End_Date 
FROM   sys.columns 

produit sortie

Last 7 Days 2011-03-20 07:35:00 2011-03-26 07:35:00 
Last 7 Days 2011-03-20 07:35:00 2011-03-26 07:35:00 

Comment obtenir cela?

Last 7 Days 2011-03-20 00:00:00 2011-03-26 00:00:00 
Last 7 Days 2011-03-20 00:00:00 2011-03-26 00:00:00 

Répondre

3

Effectuez une opération DateAdd sur la valeur DT que vous récupérez. Cela supprime essentiellement la composante temporelle:

DateAdd(Day, DateDiff(Day, 0, GetDate()), 0) 
2

Vous pouvez simplement utiliser la date dans la fonction de conversion au lieu de smalldatetime puis ajouter « 00:00:00 » sous forme de chaîne au résultat.