首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sql查询中将数字字符串( '14,72‘)转换为数字

如何在sql查询中将数字字符串( '14,72‘)转换为数字
EN

Stack Overflow用户
提问于 2013-02-15 20:46:07
回答 1查看 61关注 0票数 0
代码语言:javascript
复制
 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查询...为什么?

EN

回答 1

Stack Overflow用户

发布于 2013-02-15 21:17:34

你不能随心所欲。我建议您跳过查询的拆分部分,直接执行以下操作:

代码语言:javascript
复制
where ','+@lkaklf+',' like ','+cast(LPO.LocalPurchaseOrderId as varchar(255))+',%'

也就是说,只使用字符串比较。

如果您真的想使用SplitString(),那么将结果放在一个临时表中:

代码语言:javascript
复制
insert into @t
    select data from splitstring('14,72', ',')

然后使用子查询:

代码语言:javascript
复制
where cast(@lkalklf as varchar(255)) in (select data from @t)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14895037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档