Задать вопрос
tw1ggyz
@tw1ggyz

Почему MS SQL SERVER 2008 не понимает тип DATE?

Пишу конструкции вроде
SET @reportDateStart = CAST('2015-05-01 00:00:00.000' AS DATE)
IF @reportDateСurrent = CAST(GETDATE() AS DATE)
CAST(dateSale AS DATE) = CAST(@reportDateСurrent AS DATE) и так далее
Получаю ошибку
"Type DATE is not a defined system type"
Версия MS SQL Server 2008 R2, то есть тип DATE должен поддерживаться. Причем раньше работало. И сейчас при странных обстоятельствах то работает, то нет, не понял, что на это влияет.
В итоге нужно получить дату без времени в виде 2015-07-01 (гггг-мм-дд то есть). Через CAST и DATE сделать это проще и каноничнее. Если есть другие способы, тоже можете поделиться. Но хотелось бы конечно чтобы было по-человечески через CAST и DATE.
  • Вопрос задан
  • 366 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    MS SQL Server Developer
    5 месяцев
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
  • Сетевая Академия ЛАНИТ
    Администрирование баз данных SQL Server
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
lasalas
@lasalas
.NET Architect
DECLARE @TODAY DATETIME = CAST( CAST(GETDATE() AS INT) AS DATETIME)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы