当前位置: 首页 > news >正文

SqlServer存储过程中使用in

 第一步:创建测试存储过程:

CREATE PROCEDURE [dbo].[test]
@deptCode varchar(MAX)AS
BEGINSELECT * from DEPT_INFO_A where DEPT_CODE in (@deptCode)END

此存储过程只是一个简单的查询

第二步测试:

传入的 @deptCode为:1012001,10435

如图:

测试后发现无法查出对应的数据:

因此修改存储过程:

1.增加一个函数:

-- 实现字符串拆分操作,在存储过程中使用in  需要用到此函数
CREATE FUNCTION [dbo].[SplitString] (@String varchar(max), @Separator char(1))
RETURNS @Results table (Value varchar(max))
AS
BEGINDECLARE @Index intDECLARE @Value varchar(max)SET @Index = CHARINDEX(@Separator, @String)WHILE (@Index > 0)BEGINSET @Value = SUBSTRING(@String, 1, @Index - 1)INSERT INTO @Results (Value) VALUES (@Value)SET @String = SUBSTRING(@String, @Index + 1, LEN(@String))SET @Index = CHARINDEX(@Separator, @String)ENDINSERT INTO @Results (Value) VALUES (@String)RETURN
END

2.修改原有存储过程里的sql:

修改后的sql如下:

SELECT * from DEPT_INFO_A where DEPT_CODE in (SELECT Value FROM dbo.SplitString(@deptCode, ','))

最后in就可以查出想要的结果

http://www.lryc.cn/news/253450.html

相关文章:

  • Selenium+Unittest+HTMLTestRunner框架更改为Selenium+Pytest+Allure(二)
  • Kotlin Lambda使用
  • 华容道问题求解第一部分_思路即方案设计
  • 测试---UI自动化测试介绍
  • DHCP Host Name
  • uniapp到底用什么ui框架最合适-关于uni-app的ui库、ui框架、ui组件
  • Flask 最佳实践(二)
  • 【MATLAB源码-第93期】基于matlab的白鲸优化算法(BWO)和鲸鱼优化算法(WOA)机器人栅格路径规划对比。
  • nodejs微信小程序+python+PHP在线购票系统的设计与实现-计算机毕业设计推荐
  • 卷积神经网络训练情感分析
  • github新建项目
  • CRC(循环冗余校验)直接计算和查表法
  • 【算法思考记录】力扣2952. 需要添加的硬币的最小数量【C++,思路挖掘,贪心与证明】
  • 用友NC JiuQiClientReqDispatch反序列化RCE漏洞复现
  • Linux:docker镜像的创建(5)
  • 数据结构与算法-D2D3线性表之顺序表
  • 01_W5500简介
  • 异常 Exception 练习题 (未完成)
  • Linux系统编程:并发与信号总结
  • Jmeter 接口-加密信息发送(一百九十九)
  • 微信小程序nodejs+vue+uniapp视力保养眼镜店连锁预约系统
  • 掌握Vue侦听器(watch)的应用
  • SAP-PP:PP顾问管理系统的相关建议
  • Unity资源路径与读取
  • “大+小模型”赋能油气行业高质量发展
  • 【win32_004】字符串处理函数
  • 如果不小心修改了按钮的名字并且忘记了原名字
  • opencv阈值处理
  • html之JS
  • SQL Server的安装和首个库的创建