Sql 将多个整数行转换为In子句的分隔逗号

Sql 将多个整数行转换为In子句的分隔逗号,sql,tsql,ssms,Sql,Tsql,Ssms,我能够将loanids的值(整数行)放入逗号分隔的列表中。但是,我无法将此列表转换为用于In子句 Declare @LoanNums AS NVARCHAR(Max) = '' select DISTINCT @LoanNums = stuff(( select ',' + CONVERT(NVARCHAR(max), u.LoanId) from #tmpLoan u where u.LoanId = u.LoanId

我能够将loanids的值(整数行)放入逗号分隔的列表中。但是,我无法将此列表转换为用于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
现在输出
1322549861613225502132255018249736374249892143
,但是当我将此变量放入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子句中正确使用?

不是
Select*from myOtherTable WHERE LoanId in
('132254986132255002132255018249736374249892143')
需要

Select * from myOtherTable WHERE LoanId in
  ('132254986','132255002','132255018','249736374','249892143');
             ^ ^         ^ ^         ^ ^         ^ ^ 

妈的,我需要一些咖啡。我已经修好了