读书人

where条件里 用变量跟用字符串结果不一

发布时间: 2012-12-31 11:57:52 作者: rapoo

where条件里 用变量和用字符串结果不一样

长话短说 先来个简单的示例:
where条件里 用变量跟用字符串结果不一样
够简单吧,没问题吧


好了 我的问题来了:

再查询语句里赋值 然后打印到控制台:
where条件里 用变量跟用字符串结果不一样


把控制台里的复制出来当条件能查到结果:
where条件里 用变量跟用字符串结果不一样


直接使用定义的变量做条件就查不到结果:
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)

读书人网 >SQL Server

热点推荐