SQL Выберите дату между ошибкой преобразования не удалось

У меня есть столбец типа данных date

Когда я запускаю следующие операторы:

select count(*) as dt from dbo.logs where dateLogged>= '2018-02-01' and dateLogged < ='2018-02-30';

Я получаю Conversion failed when converting date and/or time from character string.

с каких это пор в феврале 30 дней?

Squirrel 24.07.2018 06:20

вы пытаетесь использовать в своем запросе?!

Reza Mousazadeh 24.07.2018 06:23

@ Белка Боже !!!!! как мне выбрать ваш ответ?

tomeda 24.07.2018 06:26

Не могу, это комментарий. Не волнуйтесь.

Squirrel 24.07.2018 06:37

Большое спасибо @Squirrel !!!

tomeda 24.07.2018 06:42
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
5
407
4

Ответы 4

select count(*) as dt from dbo.logs where CAST(dateLogged as date) >= '2018-02-01' and CAST(dateLogged as date) < ='2018-02-30'; 
OR
select count(*) as dt from dbo.logs where CAST(dateLogged as date) BETWEEN '2018-02-01' and '2018-02-30'; 

Хотя этот фрагмент кода может быть решением, включая объяснение действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для читателей в будущем, и эти люди могут не знать причины вашего предложения кода.

Narendra Jadhav 24.07.2018 07:09

'2018-02-30' НЕ ЯВЛЯЕТСЯ ДЕЙСТВИТЕЛЬНЫМ ДАТОМ. Замените это действительной датой и попробуйте следующий запрос:

select count(*) as dt from dbo.logs 
where cast(dateLogged as date) 
between '2018-02-01' and '2018-02-28';

попробуйте это: ->

установить формат даты dmy

выберите count (*) как dt из dbo.logs где dateLogged> = '01 -02-2018 'и dateLogged <= '30-02-2018'

Попробуйте преобразовать столбец dateLogged в дату, у вас есть два варианта

Cast(dateLogged  as datetime)

или же

Convert(varchar(30),'7/7/2011',102)

Другие вопросы по теме