Параметризация SQL - PullRequest
       6

Параметризация SQL

0 голосов
/ 24 февраля 2012

Я пишу sql-запрос для отчета SSRS и хотел задать параметры для полей @startdate и @endate, которые пользователь может указать. Тем не менее, когда я помещаю свой запрос в SSRS, пользовательский ввод игнорируется. Мне было интересно, связано ли это с тем фактом, что я не назначал параметр, а сравнивал его?

Это мои декларации:

DECLARE @startdate NVARCHAR(10)
DECLARE @enddate NVARCHAR(10)

И это мое предложение where:

WHERE assignees.id = customers.id
AND 

((dateadd(second,open_date,'19700101') >= @startdate
AND dateadd(second,open_date,'19700101') <= @enddate)

OR

(dateadd(second,close_date,'19700101') >= @startdate
AND dateadd(second,close_date,'19700101') <= @enddate))

AND group_name = 'SPRQ'

1 Ответ

1 голос
/ 25 февраля 2012

Вместо использования типов символов для сравнения дат я бы предложил использовать типы дат для получения более надежных и предсказуемых результатов.Кроме того, проверьте свойство параметров набора данных, чтобы убедиться, что оно показывает параметр отчета, используемый для заполнения параметра запроса.Иногда проектировщику нужно «напомнить», какой параметр отчета использовать для параметра запроса.

...