SQL 语句的where可以执行@变量=@变量的形式吗?
2个回答
展开全部
可以 Sql的Where语句的判断 本质上是返回一个bool型的值
比如常见的获取表结构就是
select * from 表 where 1<>1
但是不能使@列名=@变量
如果要这么做的话
你需要先将Sql语句存储到一个varchar或者nvarchar类型的字符串中 然后用exec执行.
比如常见的获取表结构就是
select * from 表 where 1<>1
但是不能使@列名=@变量
如果要这么做的话
你需要先将Sql语句存储到一个varchar或者nvarchar类型的字符串中 然后用exec执行.
更多追问追答
追问
exec(select * from TableName where @列名=@变量名)是这样吗?
追答
嗯 大致就是了 我给你举个例子
DECLARE @COLNAME VARCHAR(50)
DECLARE @PARAM VARCHAR(50)
DECLARE @STRSQL VARCHAR(500)
SET @COLNAME='列名'
SET @PARAM='变量'
SET @STRSQL='select * from 表 where ['+@COLNAME+']='''+@PARAM+''''
EXEC(@STRSQL)
-------实际执行的语句------
select * from 表 where [列名]='变量'
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询