Тип DATE не является определенным типом системы - PullRequest
14 голосов
/ 14 декабря 2011

Пытаясь убрать время на время

   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]

, но я получаю эту ошибку

Сообщение 243, Уровень 16, Состояние 1, Строка 1
Тип DATE неопределенный тип системы.

Ответы [ 2 ]

19 голосов
/ 14 декабря 2011

Вы используете SQL Server 2005 или более раннюю версию.Тип данных дата был введен в SQL Server 2008. Попробуйте вместо этого привести datetime .

Посмотрите на этот вопрос о том, как удалить часть времени изДата и время. Лучший подход для удаления части времени datetime в SQL Server

0 голосов
/ 14 декабря 2011

Если вы используете Sybase ASE, вам нужно: datetime.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...