where条件里 用变量和用字符串结果不一样
长话短说 先来个简单的示例:
够简单吧,没问题吧
好了 我的问题来了:
再查询语句里赋值 然后打印到控制台:
把控制台里的复制出来当条件能查到结果:
直接使用定义的变量做条件就查不到结果:
根据报的错网上找了 也没明白什么意思,求大神 如果这种写法走不通,求其他写法
------解决方案--------------------最后一句换成下面的:
declare @str varchar(max)
set @str='select * from data2 where '+@condtion
exec (@str)
别贴图片...
------解决方案--------------------DECLARE @Condtion nvarchar(255)
select @Condtion = A.Condtion from (
select id = row_number() over(order by condtion),* from abc) A where A.id = 1
print @condtion
declare @sql nvarchar(255)
set @sql = 'select * from Data2 '+' where '+@condtion
exec(@sql)