比較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'? –