declare @lkaklf as varchar(Max)
Select ss.Data from SplitString('14,72', ',') as ss
Select @lkaklf = CONVERT(varchar, COALESCE( + @lkaklf + ',', '') + '''' + Data + '''') From
(
Select Data from SplitString('14,72', ',')
)de
select @lkaklf
print @lkaklf
Select * from LPO Where CONVERT(varchar, LPO.LocalPurchaseOrderId) in (@lkaklf)@lkalf值正在消息中打印,但未进入select查询...为什么?
发布于 2013-02-15 21:17:34
你不能随心所欲。我建议您跳过查询的拆分部分,直接执行以下操作:
where ','+@lkaklf+',' like ','+cast(LPO.LocalPurchaseOrderId as varchar(255))+',%'也就是说,只使用字符串比较。
如果您真的想使用SplitString(),那么将结果放在一个临时表中:
insert into @t
select data from splitstring('14,72', ',')然后使用子查询:
where cast(@lkalklf as varchar(255)) in (select data from @t)https://stackoverflow.com/questions/14895037
复制相似问题