动态查询,加一个条件exec(select count(1) from PersonalTrainInfo where +@fild+ +@valu+)我
动态查询,加一个条件
exec('select count(1) from PersonalTrainInfo where '+@fild+ '=''' +@valu+'''')
我想在where 后面加在加一个and限定条件,单引号还是没弄太明白,该怎么改下呢?
[解决办法] exec('select count(1) from PersonalTrainInfo where '@fild+ '= ''' +@valu+''''+'and ''' +@条件变量+''') [解决办法] exec('select count(1) from PersonalTrainInfo where '+@fild+ '=''' +@valu+''' and '+@fild1+ '=''' +@valu1+'''') [解决办法] 拼语句时,字符串值两端要加一个引号,但由于引号本身就字符串的边界,因此用两个引号代替一个引号. 语句: select * from tb where col='abc' 拼语句: set @sql='select * from tb where col=''abc''' 如果'abc'是变量值,则: set @abc='abc' set @sql='select * from tb where col='''+@abc+'''' 前面的三个引号中,前两个引号代表拼出来的语句中有一个引号,后一个引号是前面总的字串的边界 后面四个引号,中间两个代表拼出来的字串中的一个引号,两边的两个代表字串边界. 如果要加另一个条件,则: set @def='def' set @sql='select * from tb where col='''+@abc+''' and col2='''+@def+'''' 如果列是数值类型的,则不要加: set @abc=5 set @sql='select * from tb where col='+@abc [解决办法] print下看看
exec('select count(1) from PersonalTrainInfo where '+@fild+ '=''' +@valu+''' and 1=1 and '+@fild2+'=5 and '+ @fild3+'=''+@V+''' ')
字段变量用一个单引号 与sql语句接起来,字符要多2个 [解决办法] 呵呵.... 数值型的,要用转换函数. set @sql='select * from tb where col='+convert(varchar,@abc) [解决办法]