我在sql2005的查询调试的,发现如下情况:select count(1) from admin --sql调试正常;(select Count(1) from [admin] where 1=1) between 0 and 99999999 --用啊d时捉包捉的,sql调试出错了。select Count(1) from [admin] where id between 0 and 99999999 --sql调试正常(select Count(1) from [admin] where id) between 0 and 99999999  --加个括号就错了。但是在网络上用啊d攻击语句就没有错。这个是为什么呢?那这一句是什么意思呢?
(select Count(1) from [admin] where 1=1) between 0 and 99

解决方案 »

  1.   

    (select Count(1) from [admin] where 1=1) between 0 and 99
    这个对吗?
      

  2.   

    这个只能作为条件的判断,比如if ,case when 等。单独的就会出错
      

  3.   

    (select Count(1) from [admin] where 1=1) between 0 and 99999999 --用啊d时捉包捉的,sql调试出错了。语法错误呀
      

  4.   

    --如
    if (select Count(1) from [admin] where id) between 0 and 99999999 
        print '在范围内'
    else
        print '不在范围内'
      

  5.   

    --如 
    if (select Count(1) from [admin] where 1=1) between 0 and 99999999 
        print '在范围内' 
    else  
        print '不在范围内'
      

  6.   

    这个如果在浏览器下,就么有错。但是sql调试,就错了。好奇怪