セクション ID (int) を XML で列に格納し、XQuery を使用して、指定されたセクション ID を持つアイテムを検索します。セクション ID である int の配列を使用できるように (C# で) コードを拡張しようとしています。値がハードコーディングされている場合、コードは SSMS で正常に機能します。XQuery で sql:variable を使用しようとすると、結果が得られません。
declare @table table
(
Sections nvarchar(200)
)
insert into @table values ('<sections><section value="1" /></sections>')
insert into @table values ('<sections><section value="2" /></sections>')
--This works
select * from @table where CONVERT(xml, Sections).exist('/sections/section[@value = (1,2)]') = 1
--This doesn't work :(
Declare @stringvalue nvarchar(50)
set @stringvalue = '(1,2)'
select * from @table where CONVERT(xml, Sections).exist('/sections/section[@value = sql:variable("@stringvalue")]') = 1