Какой тип данных - даты рождения и смерти в базе данных?
Если они являются датой или датой-временем, и вы используете средство выбора даты для параметров своего отчета, вы можете сравнить их, формат, в котором они отображаются, не должен иметь значения, поскольку внутренне они хранятся правильно.
В качестве теста создайте новый отчет, добавьте параметр даты, чтобы отобразился указатель даты. Затем добавьте текстовое поле для отображения отформатированного значения параметра. Используйте формат, который использует такие слова, как «19 февраля 2020», чтобы не было двусмысленности. Если это работает, то у вас не должно быть проблем
Вы, ГДЕ ОГЛАВЛЕНИЕ, просто были бы что-то вроде
WHERE DeceasedDate BETWEEN @BeginDate AND @EndDate
РЕДАКТИРОВАТЬ На основании ответа ОП ..
Пожалуйста, попробуйте следующие тесты и посмотрите, какие результаты вы получите. Предполагая, что вы вернули разумную дату, я бы создал представление с дополнительным столбцом, который преобразует даты в формате char (8) в типы данных реальной даты на основе того отчета, который вы сообщаете в этом представлении.
DECLARE @dt char(8) = '20200201'
SELECT CAST(@dt as date)
SELECT DATEFROMPARTS(LEFT(@dt,4),SUBSTRING(@dt, 5,2),RIGHT(@dt,2))
SELECT FORMAT(CAST(@dt as date), 'dd MMMM yyyy')
Последнее Один из них - убедиться, что дни и месяцы правильно интерпретируются.
DATEFROMPARTS всегда должен работать, когда вы говорите, какие части строки представляют каждую часть даты, но это медленнее, чем первый вариант .
Если предположить, что DATEFROMPARTS работает, ваше представление может выглядеть примерно так:
SELECT *
, DATEFROMPARTS(LEFT(Deceased,4),SUBSTRING(Deceased, 5,2),RIGHT(Deceased,2)) as DeceasedDateNew
FROM myTable