declare @Sql varchar(1000)
declare @ACCOUNT varchar(50)='-1' --@ACCOUNT 为 testName 时也需要符合
Set @Sql ='select * from T_ORDER where ('+CASE @ACCOUNT WHEN '-1' THEN '1=1' ELSE 'ACCOUNT = '''+CAST(@ACCOUNT AS varchar(50)) END+''') '
select @Sql
希望高手能执行下以上这段SQL,当我传入-1时候,打印出来多一个单引号,求解阿。如果把 ACCOUNT = '''+CAST(@ACCOUNT AS varchar(50)) END+'''变成 ACCOUNT = '+CAST(@ACCOUNT AS varchar(50)) END+' 传入-1是对了,但是传入字符串用户名又缺少了单引号,在线求解~~
declare @ACCOUNT varchar(50)='-1' --@ACCOUNT 为 testName 时也需要符合
Set @Sql ='select * from T_ORDER where ('+CASE @ACCOUNT WHEN '-1' THEN '1=1' ELSE 'ACCOUNT = '''+CAST(@ACCOUNT AS varchar(50)) END+''') '
select @Sql
希望高手能执行下以上这段SQL,当我传入-1时候,打印出来多一个单引号,求解阿。如果把 ACCOUNT = '''+CAST(@ACCOUNT AS varchar(50)) END+'''变成 ACCOUNT = '+CAST(@ACCOUNT AS varchar(50)) END+' 传入-1是对了,但是传入字符串用户名又缺少了单引号,在线求解~~
解决方案 »
- 急,服务器硬盘控制器坏,恢复出来的sql2005数据库文件附加时出错!
- ERROR: relation "publisher" does not exist 请大家帮忙看看
- 请教怎么实现这个查询
- 请教个比较菜的问题.请不吝赐教
- sql中比较字符串时,发现'A'与'a'是相等的.即'A'='a'为真,如何实现为假呀?
- SQL2005怎么样单独卸载Reporting Service
- 这个关联两张表的sql语句该怎么写?
- 如何用直接用SQL取得资料笔数
- 如何在一条语句里按照不同条件进行多项统计?
- 安装了SQL后,(我采用了SA和系统认证登陆),结果改了WINDOWS登陆用户名密码后……?
- 求一sql2000的语句,实现下面功能,鼓捣好几天了,期待大神出现!
- OpenRowSet问题
declare @Sql varchar(1000)
declare @ACCOUNT varchar(50)='-1' --@ACCOUNT 为 testName 时也需要符合
Set @Sql ='select * from T_ORDER where ('+CASE @ACCOUNT WHEN '-1' THEN '''' ELSE 'ACCOUNT = '''+CAST(@ACCOUNT AS varchar(50)) END+''') '
select @Sql
declare @ACCOUNT varchar(50) --@ACCOUNT 为 testName 时也需要符合
set @ACCOUNT='-1'
Set @Sql ='select * from T_ORDER where ('+CASE @ACCOUNT WHEN '-1' THEN '1=1' ELSE 'ACCOUNT = '''
+CAST(@ACCOUNT AS varchar(50)) END+') '
select @Sql
declare @ACCOUNT varchar(50) --@ACCOUNT 为 testName 时也需要符合
set @ACCOUNT='-1'
Set @Sql ='select '+case @ACCOUNT WHEN '-1' THEN '''''' else + '*' end +' from T_ORDER where ('+CASE @ACCOUNT WHEN '-1' THEN '1=1' ELSE 'ACCOUNT = '''
+CAST(@ACCOUNT AS varchar(50)) END+') '
select @Sqltry
declare @ACCOUNT varchar(50)='-1' --@ACCOUNT 为 testName 时也需要符合
Set @Sql ='select * from T_ORDER where ('+CASE @ACCOUNT WHEN '-1' THEN ' 1=1 ' ELSE ' ACCOUNT = '''+CAST(@ACCOUNT AS varchar(50))+'''' END +')'
select @Sql