Параметры даты: открытый запрос SQL - ОШИБКА: незакрытая кавычка после символьной строки - PullRequest
0 голосов
/ 09 мая 2018

Может ли кто-нибудь взглянуть на мой код ниже и сообщить мне, где я ошибаюсь.Попытка передать параметры даты через открытый запрос и получение ошибки - Незакрытая кавычка после символьной строки

--@PID varchar(11),
@START datetime,
@END datetime

AS BEGIN

SET NOCOUNT ON;

--DECLARE @PID1 varchar(11) = @PID
DECLARE @START1 datetime = @START 
DECLARE @END1 datetime = @END
DECLARE @TSQL varchar(8000)

SET  @TSQL = 'SELECT * FROM OPENQUERY ("CWSLIVE", ''SELECT * FROM  pricing_base_data 

WHERE date >= convert(date, ''''' + convert(varchar, @START1, 23)+ ''''', 23)
                and date < convert(date, ''''' + convert(varchar, @END1, 23)+ ''''', 23))'

--PRINT (@TSQL)
EXEC (@TSQL)
END

GO

1 Ответ

0 голосов
/ 09 мая 2018

Используйте ваш запрос следующим образом: - двойные кавычки с обеих сторон: "SELECT * FROM OPENQUERY (" CWSLIVE "," SELECT * FROM pricing_base_data " ГДЕ дата> = конвертировать (дата, '' '' '+ конвертировать (varchar, @ START1, 23) +' '' '', 23) и дата <конвертировать (дата, '' '' '+ конвертировать (varchar, @ END1, 23) + '' '' ', 23)) "</p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...