sql 传入参数为逗号分隔的字符串处理方法
写了个存储过程,中间用到了类似这种写法
Select * From User Where ID In('1,2,3')
其中'1,2,3'是从外面传进来的参数,就这样执行报错:'1,2,3'转换为int类型出错,因为ID是int类型的
想了个比较笨的解决方法:思路-循环将传进来的参数'1,2,3'分割并转换为int然后存储到临时表,之后在In里面Select ID这样就不报错了
Declare @ID Nvarchar(500);
Set @ID='4,11064';
Declare @table_UserID Table
(
ID Int
)
While(CHARINDEX(',',@ID)<>0)
Begin
Insert Into @table_UserID(ID) Values(CONVERT(Int,Substring(@ID,1,CHARINDEX(',',@ID)-1)));
Set @ID=STUFF(@ID,1,CHARINDEX(',',@ID),'');
End
Insert Into @table_UserID (ID) Values(CONVERT(Int,@ID));
Select * From @table_UserID
Select * From User Where ID In(Select ID From @table_User)
结果:

欢迎指正
sql 传入参数为逗号分隔的字符串处理方法的更多相关文章
- sqlserver 针对预处理sql传入参数的处理方式
在编写sql中,经常需要对sql进行预处理,动态拼接字符串,那么要获取在这预处理之后返回的的某个值并且赋值,传入参数的语法 USE [OA] GO /****** Object: StoredProc ...
- mysql 5.7.20 动态sql 传入参数
drop procedure test; delimiter ;; CREATE procedure test() -- 取动态sql的值 -- 目前只测试出,在 where 后面, 可以用 ?,类似 ...
- MYSQL查询某字段中以逗号分隔的字符串的方法
首先我们建立一张带有逗号分隔的字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCH ...
- Sql Server中Float格式转换字符串varchar方法(转)
1.[Sql Server](70) SELECT CONVERT(varchar(100), CAST(@testFloat AS decimal(38,2)))SELECT STR(@testF ...
- learning java Objects.requireNonNull 当传入参数为null时,该方法返回参数本身
System.out.println(Objects.hashCode(obj)); System.out.println(Objects.toString(obj)); System.out.pri ...
- Js基础知识5-函数返回值、函数参数、函数属性、函数方法
函数返回值 所有函数都有返回值,没有return语句时,默认返回内容为undefined,和其他面向对象的编程语言一样,return语句不会阻止finally子句的执行. function testF ...
- SQL查询结果列拼接成逗号分隔的字符串:group_concat
转自:SQL查询结果列拼接成逗号分隔的字符串 背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串. 解决方法: 通过 group_concat 函数 拼接的结果很长,导致拼接结果显示不全,可 ...
- MyBatis传入参数为集合、数组SQL写法
参考:http://blog.csdn.net/small____fish/article/details/8029030 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合 ...
- [原创]SQL表值函数:把用逗号分隔的字符串转换成表格数据
我们日常开发过程中,非常常见的一种需求,把某一个用逗号或者/或者其他符号作为间隔的字符串分隔成一张表数据. 在前面我们介绍了 [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式,当然按照这 ...
随机推荐
- HTML02--引用样式、表格、列表、div布局
接上一篇“HTML01随笔” 1.使用样式: 内联样式:标签中使用style属性 内部样式:<head>使用<style type="text/css" ...
- Tomcat和Mysql部署成Windows服务
如题: Tomcat部署进入到Tomcat的bin目录,执行命令:service.bat install [service_name]安装完毕后服务中能看见Apache Tomcat 7.0 [se ...
- .Net Core 使用NLog记录日志到文件和数据库
NLog 记录日志是微软官方推荐使用. 接下来,通过配置日志记录到文件和Sql Server数据库. 第一步:首先添加包NLog.Config (可通过微软添加包命令Install-Package 包 ...
- 在微信移动端input file拍照或从相册选择照片后会自动刷新页面退回到一开始网站进入的页面
<input type="file" accept="image/*"/> 调用打开摄像头后,聚焦后拍照,点击确认,这时页面会出现刷新动作,然后回退 ...
- c# timer使用
C#里现在有3个Timer类: System.Windows.Forms.Timer System.Threading.Timer System.Timers.Timer 这三个Timer我想大家对S ...
- Mac下的SSH插件(默认自带)
Mac下默认自带,直接通过终端输入ssh获取更多的参数帮助.
- Sublime Text 3安装插件(Mac 10.12)
1.先安装Package Control,默认这个是没有安装的. 使用[control + -]打开控制台,输入以下代码: import urllib.request,os; pf = 'Packag ...
- hzjs颠覆jquery,按照中国人思维开发的最简洁的JQUERY替代品更简洁更高效
颠覆jquery,按照中国人思维开发的最简洁的JQUERY替代品 实现了类似JQUERY的选择器最核心的基本功能 如:$('#image2').attr("src") 另外提供了 ...
- Android开发不可或缺的十大网站及工具
1. Google 做开发前完全是小白,真心不知道有Google这东西,只晓得百度,遇到问题直接百度,不是黑百度,百度在娱乐八卦方面确实靠谱,但是技术方面查出来的东西基本千篇一律,有些答案甚至还会起到 ...
- (转载)Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
1 import java.util.Collections; 2 import java.util.LinkedList; 3 import java.util.List; 4 5 public c ...