0
我已聲明變量&附加字符串,逗號分隔。這個變量我想用於另一個查詢的where條件。將varchar值'xxx'轉換爲數據類型int轉換失敗int
declare @AllIDs varchar(max)
set @AllIDs = ''
select
@AllIDs = (@AllIDs + cast(ID as varchar(10)) + ',')
from EmployeeDetail WHERE Code In(
'ABC1','ABC2'
)
select @AllIDs
select * from TBL_OT where EmployeeId In(@AllIDs)
EmployeeId是int類型的。所以它給我錯誤: -
將varchar值'xxx'轉換爲數據類型爲int時轉換失敗int。
你只能用動態SQL來做到這一點。當你需要'in('x','y')'時,你的查詢將評估爲'in('x,y')'。 – HoneyBadger
如果您想爲變量使用IN運算符。您已使用動態查詢。 – Vikram