本帖最后由 jlsyyz01 于 2009-12-25 10:14:05 编辑

解决方案 »

  1.   

    select * from table where name like '%中%国%'
      

  2.   

    select * from tb where name in ("中国"  OR "中"%"国");
      

  3.   

    支持1楼select * from table where name like '%中%国%'
      

  4.   

    这个就是通用的,%代表任意长度字符串,select * from tb where name in ("中国"  , "中"%"国");这一句只能查到含有'中国' 和以中开头,以国结尾的字符串
    注意IN 用逗号不是OR 
      

  5.   

    我觉得这类拆分处理应该交给前台程序做,不该丢给后台sql来实现。
    尽管如此,还是给出一段代码,希望有点帮助。select t1.* 
    from t t1 where c1 like 
    (select '%'||replace(wm_sys.wm_concat(f),',','%')||'%'
    from (select substr(v_input,rownum,1) f,1 a from dual connect by rownum < length(v_input))
    group by a); 
      

  6.   


    如何对关键字进行拆分,像中、国 是不是得拆分后写入SQL中,而且关键字长短也不一样,而且关键字估语句中位置也不定。 谁能帮我写个完整的查询。关键字与可以规定让使用者用空格或逗号分开。
    例如 string keyname="ac sdsf";
      

  7.   


    如果对表单提交上来的关键字先进行拆分,然后再用SQL处理如何做呀。大哥,在JSP 页面上如何拆分。
      

  8.   

    jsp上面直接连数据库的?
    难道都没中间层java代码的?在调用sql之前用StringTokenizer或者StringBuffer的method处理,将值变成%中%国%这种形式,然后在sql代码里面直接select * from t where c1 like input_values;
      

  9.   


    帮我写一个对 String keys="a,b,c,d";  类似的拆分然后组成%中%国%这种形式。谢谢,我不会呀
      

  10.   

    StringBuffer sb = new StringBuffer();
    sb.append('%');
    for( int i = 0 ; i < s.length(); i++)
       sb.append(s.charAt(i) + '%');
    sb.append('%');sb.toString() 就是处理后的值
      

  11.   


    那这样更简单了,直接用String类下面的replace或者replaceAll方法就可以了。自己查下api吧
      

  12.   

    select * from table where name like '%中%国%'