Ошибка преобразования при преобразовании даты и / или времени из строки символов. Sql - PullRequest
0 голосов
/ 04 мая 2020

Я хочу отобразить данные между указанным диапазоном дат, но он показывает ошибку преобразования. В чем может быть его проблема?

SELECT * 
FROM orders 
WHERE o_date BETWEEN '28-04-2020' and '04-05-2020'

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

Это тоже будет работать:

WHERE o_date BETWEEN '28-Apr-2020' and '04-May-2020'
0 голосов
/ 04 мая 2020

Попробуйте использовать стандартную форму для дат:

WHERE o_date BETWEEN '2020-04-28' and '2020-05-04'

На самом деле, вышеупомянутое использует стандартные форматы ISO для дат, которые почти всегда (но не всегда в зависимости от настроек интернационализации) работают на SQL сервере. Вы также можете отбросить дефисы для 100% соответствия:

WHERE o_date BETWEEN '20200428' and '20200504'

Я бы также посоветовал вам использовать >= и < - потому что такие логики c работают как для даты, так и для даты / времени :

WHERE o_date >= '20200428' and o_date < '20200505'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...