Попробуйте использовать стандартную форму для дат:
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'