--a. 要查询的字段类型是数字型
--查询的值列表
DECLARE @idlist varchar(100)
SET @idlist='1,2,3'
--拼接并执行动态Transact-SQL语句
EXEC('SELECT * FROM tbname WHERE fdname IN('+@idlist+')')
GO
--b. 要查询的字段类型是字符型
--查询的值列表已经加上了字符串边界符
DECLARE @idlist varchar(100)
SET @idlist='''a'',''b''''a'',''c'''
--拼接并执行动态Transact-SQL语句
EXEC('SELECT * FROM tbname WHERE fdname IN('+@idlist+')')
GO
SQL语句可以声明使用数组,声明方法为:
1、先定义一个数组,数组内容是一些数字,可以对应为数据表里的id列。
2、关键是把数组的内容转换为sql语句里的in语句里的字符串。
3、然后拼接sql查询语句里,将转换后的字符串拼接到in语句后就行了。
4、不直接用代码去执行数据库了,先使用dump语句把sql输出来。
5、运行页面,可以看到最终的sql语句是如下图这样的。
6、然后可以将sql语句在数据库客户端工具里执行一下。
7、执行后,就可以声明使用数组了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)