Как преобразовать тип данных varchar в datetime?
select top 100 percent * from RawData where SiteId=@SitePId and convert(datetime, date, 103) between @StartDate and @EndDate order by convert(datetime, date, 103)
когда я запускаю выше запрос я получаю ниже ошибку
Ошибка преобразования типа данных varchar в datetime.
здесь столбец даты имеет тип varchar
@startDate - это дата и время
@Enddate - это дата и время
я должен отсортировать столбец даты между startdate и enddate
Что я уже пробовал:
<pre lang="SQL">select top 100 percent * from RawData where SiteId=@SitePId and convert(datetime, date, 103) between @StartDate and @EndDate order by convert(datetime, date, 103)</pre> when i run above query i am getting below error Error converting data type varchar to datetime.
Richard MacCutchan
Почему вы пытаетесь обратиться? SQL может сравнивать значения даты и времени.
Member 12363094
потому что я должен получить между данными startdate и enddate которые являются datetime
а столбец даты имеет тип varchar
без преобразования также я получаю ниже ошибку
Ошибка преобразования типа данных varchar в datetime.
Mehdi Gholam
Проверьте данные в ваших столбцах на наличие допустимых значений строки даты.
F-ES Sitecore
Это одна из многих причин, почему вы не храните даты в виде text\varchar. Измените схему базы данных таким образом, чтобы дата была соответствующим полем datetime или date. Это могут быть ненужные данные в вашем столбце даты, это могут быть проблемы с местоположением ... мы не знаем, так как не можем получить доступ к вашей базе данных, но использование правильных типов полей устраняет эти проблемы.
Member 12363094
На самом деле выше в СП
@startDate,@EndDate-это входные параметры с типом данных datatime
Karthik_Mahalingam
Всегда использовать Ответить кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.
Sahan2u
Это может произойти из-за недопустимой даты для параметров @StartDate или @EndDate, таких как 2016-11-31. В ноябре месяце нет 31.