where in () 的问题
时间:2011-12-27
来源:互联网
declare @d ='1,2,3'
select * from tb where id in (@d ) 就会出错
有没有好办法能 让 select * from tb where id in (@d ) 也能正确啊
在存取过程中执行的
我不想用 select * from tb where charindex(','+ltrim( id )+',', @d )>0 的方式 感觉这样很慢
作者: ayun00 发布时间: 2011-12-27
exec('select * from tb where id in ('+@d +')')
作者: qianjin036a 发布时间: 2011-12-27
@str varchar(32)
as
declare @sql varchar(max)
set @sql='select * from t_goods where base_goods_id in('+@str+')'
print (@sql)
exec (@sql)
exec t '18148,18147,18146'
作者: zhaowenzhong 发布时间: 2011-12-27
我这里是简化了的代码 实际代码比较复杂的
作者: ayun00 发布时间: 2011-12-27
exec后 sql还能对语句进行优化吗?
我这里是简化了的代码 实际代码比较复杂的
一样的,关键在语句写得好不好.不过,用 exec 可能有会另外占用一些时间.
作者: qianjin036a 发布时间: 2011-12-27
如有可能
将传入的ID放到表里
然后与原表做连接查询
仅供参考
作者: wufeng4552 发布时间: 2011-12-27
串的效率都不会太高
作者: fredrickhu 发布时间: 2011-12-27
郁闷 工期太急了 没时间对这些方案 都来做个效率测试
exec会产生很多即席的计划
如有可能
将传入的ID放到表里
然后与原表做连接查询
仅供参考
作者: ayun00 发布时间: 2011-12-27
exec会产生很多即席的计划
如有可能
将传入的ID放到表里
然后与原表做连接查询
仅供参考
学习。
作者: Beirut 发布时间: 2011-12-27
exec会产生很多即席的计划
如有可能
将传入的ID放到表里
然后与原表做连接查询
仅供参考
学习!
作者: hebeishimeng 发布时间: 2011-12-27
作者: qingshangwuheng 发布时间: 2011-12-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28