Я бы не рекомендовал вам использовать between
с датами. Здесь - хорошее объяснение, предоставленное Аароном Бертраном.
select t.*
from table t
where t.opened >= '2016-08-01' and
t.opened < '2020-05-02'
Если ваш opened
в том же формате даты, тогда используйте:
select t.*
from table t
where convert(date, t.opened, 103) >= '2016-08-01' and
convert(date, t.opened, 103) < '2020-05-02'
Однако вам следует исправить таблицу, чтобы даты сохранялись с использованием правильных типов, а не строк.