比较VARCHAR VARCHAR能够解决您的问题,假设tsgb_extract_110107是一个表
select listing_id, rpt_id, name_en, phone
from tsgb_extract_110107
where rpt_id in ('3300718',
'3305691',
'3234688',
'3358162',
'3423680',
'3406570',
'3368217',
'3363510',
)
编辑
可以将@ID
分成表中,然后使用连接
Declare @ID varchar(max)
set @ID = '33, 691, 688, 58, 42, 3'
DECLARE @xml as xml
SET @xml = cast(('<X>'+replace(@ID, ',' ,'</X><X>')+'</X>') as xml)
;WITH criteria AS
(
SELECT LTRIM(N.value('.', 'varchar(10)')) as value FROM @xml.nodes('X') as T(N)
)
select listing_id, rpt_id, name_en, phone
from tsgb_extract_110107 INNER JOIN criteria ON rpt_id = criteria.value
必须有'rpt_id'的值不能转换为'VARCHAR'。 –
列rpt_id具有类型INT。 – Tom
好的。所以你的意思是说你正在传递'rpt_cat_id',像这样:''3300718,3305691,3234688,3358162,3423680,3406570,3368217,3363510'? –