SQL Server:日期转换问题

时间:2011-03-26 07:50:13

标签: sql sql-server tsql sql-server-2008

我有这样的查询:

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

产生输出

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

如何获得这个?

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

2 个答案:

答案 0 :(得分:3)

对您要返回的DT值执行DateAdd操作。这基本上删除了时间组件:

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

答案 1 :(得分:2)

您可以在convert函数中使用date而不是smalldatetime,然后将“00:00:00”作为字符串追加到结果中。