下面来介绍在sql存储过程in参数如何传递及问题解决,有需要的朋友可参考参考。
--1. 构造使用in子句的动态transact-sql方法进行编号查询
--a. 要查询的字段类型是数字型
| 代码如下 | 复制代码 |
|
--查询的值列表 --拼接并执行动态Transact-SQL语句 --b. 要查询的字段类型是字符型 --拼接并执行动态Transact-SQL语句 --查询的值列表没有字符串边界符 --由于是字段类型是,所以在拼接时,必须为其加上字符串边界符(') --拼接并执行动态Transact-SQL语句 /*=====================================================*/
--查询 /*=====================================================*/
SET @s='1,2,3' --b. 生成动态Transact-SQL语句时忽略了数据类型。 --c. 忽略了比较的精确性问题。 --查询 |
|
在SQL Server Management Studio里执行这个(我使用的是SQL Server 2005如果是SQL 2000这个函数要改些内容如:VARCHAR(MAX)),会生成一个表值函数,然后使用时呢,比如你想实现:In(@ids)这时可以换成 In(select * from Split(@ids , ','))
这个函数的作用呢,就是把你输入的字符按一定的分隔符分开,并放在一个表里的一列里,然后返回。
例
| 代码如下 | 复制代码 |
|
--引用 Select * From Split('1,2,3' , ',') |
|
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号