Я хотел бы передать значения nvarchar в uniqueidentifier.Ошибка конверсии при преобразовании из символьной строки в uniqueidentifier Ошибка?
Например .:
Declare @test nvarchar(max);
set @test = '''' + '77494371-30c1-4d2e-8dea-58dbefb325cc' + '''' --+ ',' + '''' + 'cb4229a2-76f8-4d68-aef7-f0bae089b382' + '''';
print @test;
Select * from Table1 where ID in (@test);
Я попытался пройти выше условия. На этот раз я столкнулся ниже ошибок:
'77494371-30c1-4d2e-8dea-58dbefb325cc','cb4229a2-76f8-4d68-aef7-f0bae089b382'
Msg 8169, Level 16, State 2, Line 5
Conversion failed when converting from a character string to uniqueidentifier.
Если какой-либо способ передать несколько значений UniqueIdentifier в Where In
состояния.
Пожалуйста, помогите мне решить эту проблему.
Вы не можете использовать строку переменной, содержащей как ' 'X', 'Y', 'Z' 'в позиции in и подумайте, что он получит 3 значения. Он попытается найти одно значение: «X», «Y», «Z''». Вы должны либо создать динамический SQL, либо использовать некоторую структуру таблиц, такую как переменная таблицы. –