游标后面select 带有in时
2024-09-08 00:08:27
今天遇到一个问题,使用游标时,在给游标填充值的时候,select 语句中带有 where查询条件,并且还有 in子句。
本来我是这样写的,试了很多次都不出结果,当然number in (304010,305013)是可以出结果的。
declare @Did varchar(10)
declare @zdcode varchar(50) set @zdcode='304010,305013'
declare cur_id cursor for select Number from dbo.IM_Metadata where number in (@zdcode)
open cur_id
fetch next from cur_id into @Did
while @@fetch_status=0
begin
print @Did
fetch next from cur_id into @Did
end
close cur_id
deallocate cur_id
后来一番折腾,求助了群里同志们
果然有了不错的解决方案
就是添加一个函数:
CREATE FUNCTION [dbo].[f_split]
(
@c VARCHAR(MAX) ,
@split VARCHAR(50)
)
RETURNS @t TABLE ( col VARCHAR(50) )
AS
BEGIN
WHILE ( CHARINDEX(@split, @c) <> 0 )
BEGIN
INSERT @t( col )
VALUES ( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1) )
SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')
END
INSERT @t( col ) VALUES ( @c )
RETURN
END
然后使用时这样:
declare cur_id cursor for select Number from dbo.IM_Metadata where number in (select * from f_split(@zdcode , ','))
ok问题解决了。
最新文章
- Java 输出流中的flush方法
- iOS10字体
- Swift关于Any,AnyObject,AnyClass的区别与联系
- MySQL – 导出数据成csv
- HDU 1789 贪心经典
- 常用js效果:选项卡切换
- 你必须知道的 34 个简单实用的 Ubuntu 快捷键
- zeromq随笔
- jQ小图标上下滑动特效
- HTM5新手学习的一些日常总结,相互交流和相互学习。
- centos7 ssh免密码登录
- Java命令模式以及来自lambda的优化
- Hibernate学习(三)自动建表
- app控件唯一相对Xpath自动生成(增强版uiautomatorviewer)
- Android屏幕适配-android学习之旅(五十九)
- 【leetcode78】Single Number II
- python之PIL库(Image模块)
- win10优化
- ASPxGridView中Command列自定义按钮点击事件概要
- HOW TO ANSWER: Tell Me About Yourself
热门文章
- C++组合通信
- 从头认识java-15.2 Collection的经常用法(2)-注意点
- oc48--多个对象内存管理练习
- PCB C# 连接MongoDB 数据库
- Appium + python - online-install-apk
- Grafana+Zabbix+Prometheus 监控系统
- 【LuoguP2210 USACO】 Haywire
- HttpServletResponse对象,自己学习的心得
- 在PL/SQL中使用游标、动态sql和绑定变量的小例子
- 图片懒加载插件echo.js——改造