如果有一段值为动态的字符串,我想判断特定位置后面的字符串,
比如select * from a where or id=1 or id=2
我想判断where 后面的为何值并将其去掉,where后可能是or 也肯能是 and我想将其去掉,如何实现?

解决方案 »

  1.   

    如果是拼接 SQL 语句的话,可以这样:WHERE 1 = 1然后再把你的条件拼接上去,这样就不用去掉了,呵呵
      

  2.   

    我想你应该在构造sql语句的时候,这样吧
    定义int id;
    定义String sql="select * from a where 1=1";
    然后id这个值应该是从某些地方可以得到的.再用个switch语句int id;
    String sql="select * from a where 1=1";
    //此时获得id的值
    swicth(id)
    {
        case 1:
            sql+=" or id=1";
            break;
        case 2:
            ....
    }思路就是这样了..   再后面加where 1=1是免得你每判断一个case 都要加这一句.就麻烦了..反正1=1是恒成立的一个条件!  不知道这个方法好不好?等待高人来指点