Я могу получить значения ссуд, которые представляют собой строки целых чисел, в список с разделителями-запятыми.Однако я не могу преобразовать этот список для использования в предложении In
Declare @LoanNums AS NVARCHAR(Max) = ''
select
DISTINCT
@LoanNums =
stuff((
select ',' + CONVERT(NVARCHAR(max), u.LoanId)
from #tmpLoan u
where u.LoanId = u.LoanId
order by u.LoanId
for xml path('')
),1,1,'')
from #tmpLoan
Теперь выводится 132254986,132255002,132255018,249736374,249892143
, что, впрочем, выглядит нормально, когда я помещаю эту переменную в предложение IN
DECLARE @SQL AS NVARCHAR(MAX) = ''
SELECT @SQL = 'Select * from myOtherTable Where LoanId in (''' + @LoanNums + ''')'
если выводит этот SQL
Select * from myOtherTable WHERE LoanId in
('132254986,132255002,132255018,249736374,249892143')
и я получаю сообщение об ошибке
Conversion failed when converting the varchar value
'132254986,132255002,132255018,249736374,249892143' to data type int
Как создать правильный отформатированный список с разделителями-запятыми для правильного использования в предложении IN?