试着把时间浪费掉
select CONVERT(char(10), [Reg Date1], 103) [Reg Date], Regs
from (
select cast(SetupDateTime as DATE) [Reg Date1]
, COUNT(distinct ID) [Regs]
from dbo.tbl_User
where cast(SetupDateTime as DATE)
between cast((DATEADD (dd , -7 , GETDATE())) AS DATE)
and cast((DATEADD (dd , -1 , GETDATE())) AS DATE)
group by cast(SetupDateTime as DATE)
) a
order by a.[Reg Date1]
但我收到此错误
Msg 243,Level 16,State 1,Line 1
类型DATE不是已定义的系统类型。
答案 0 :(得分:19)
您正在使用SQL Server 2005或更早版本。 SQL Server 2008中引入了数据类型date。请尝试转换为datetime。
看一下如何从日期时间中删除时间部分的这个问题。 Best approach to remove time part of datetime in SQL Server
答案 1 :(得分:0)
如果您使用的是Sybase ASE,则需要的是datetime
。