String str="1001";
select * from talbe where code like '%"+str+"%'

解决方案 »

  1.   

    建议:还是用JAVA的程序来控制吧,这样要比写SQL的代码方便很多。
      

  2.   

    select * from table where left(code,4) = "1001";或
    select * from table where sub(code,0,4) = "1001";
    看你是什么数据库了,当然如楼上的做法也可以。
      

  3.   

    表不应该这么建的
    因该分为两个表
    大类一个表
    小类一个表
    <!--表A-->
    1001   部门
    1002   职位
    <!--表B--->
       100101 行政部    1001
       100102 研发部    1001
       100103 物资部    1001
       100202 经理      1002
      

  4.   

    select * from table where subStr(code,0,4) = '1001';
    这个是最佳的sql了,千万别用like,很慢的
      

  5.   

    记住那个是subStr(code,0,4) ,我有个程序和你的一模一样,就是这么解决的
    sub(code,0,4)好像是不行!!
      

  6.   

    我的数据库是SQLSERVER,这样支持吗?
      

  7.   

    你试试不就知道了,还有我可以给你点建议吗??
    如果不愿意就当我没说,我是好心:
    做程序员一定要多实践,不要发现问题马上就问,一定要自己研究研究(哪怕是徒劳的研究),然后再问,这样才有助于自己水平的提高!!
    祝你好运(我用的是oracle,所以那条语句我在sqlserver下没试过,你自己试试把)
      

  8.   

    hhuzhj(阿金) ( ) 信誉:121  2003-6-17 11:12:58  得分:0 
     
     
      
    String str="1001";
    select * from talbe where code like '%"+str+"%'  
     
    我绝对实际应用重这种写法比较好,因为这种写法是标准SQL中得写法,执行效率也应当是符合要求,至少不会用专用数据库中某些特定函数限制
      

  9.   

    呵呵,多谢whatwhynot(努力努力!) 
    我也是郁闷了一个上午才在这里提问的,呵呵,不过以后我会注意的