productinfo表 字段 productflow 里面的数据是
 111,112,113
 111,114,211
 111,115,334 
 111,114
我想把11,112,113 跟111,114取出来 也就是说最前面是1的
select * from productinfo where productflow like '1%' 这样取 只能取第一个前面是1的 ,后面就可以随便了 应该怎么做呢 ? 
select * from productinfo where productflow like '%,1%'
好像也不对 ~~~高手请指点一下~

解决方案 »

  1.   

    select * from productinfo where productflow like '1%' 
    没错啊另外,
     111,112,113
     111,114,211
     111,115,334 
     111,114
    是一条记录还是多条记录啊?
      

  2.   

    id      productflow 
      1      111,112,113  2      111,114,211
     
      3      111,115,334   4      111,114
    多条记录 ~
      

  3.   

    select * from productinfo where productflow like '1%' 
    就把4条记录都取出来了啊 ~
      

  4.   

    hai173() ( ) 信誉:100    Blog   加为好友  2007-6-9 9:55:51  得分: 0  
     
     
       
    select * from productinfo where productflow like '1%' 
    就把4条记录都取出来了啊 ~  
     
    ----------“我想把11,112,113 跟111,114取出来 也就是说最前面是1的”
    這四條紀錄的最前面都是1啊?不是滿足條件的?你的意思是不是沒有表述清楚?
      

  5.   

    他的意思是productflow字段里面第一个全为1的取出来
    晕死...你写明白点,这样大家读起来太累了
      

  6.   

    你的productflow字段记录为111,112,113 WHERE ID=1时。
    可这样吧,where productflow.substring(0,3) like '1%' 
     productflow.substring(3,3) like '1%'
     productflow.substring(6,3) like '1%'
      

  7.   

    那个字段的长度有多少啊?如果不长的话,gcaling2006() 朋友的方法再加一些分支是可行的
    如果要是比较长的话可能这样做就太繁琐了一些
      

  8.   

    長度不是固定的,gcaling2006() 的應該不通用可以這麼寫
    Select * From productinfo Where ',' + productflow Not Like '%,[^1]%'
      

  9.   

    --創建測試環境
    Create Table productinfo
    (productflow Varchar(100))
    Insert productinfo Select  '111,112,113'
    Union All Select  '111,114,211'
    Union All Select  '111,115,334'
    Union All Select  '111,114'
    Union All Select  '211,114'
    GO
    --測試
    Select *From productinfo Where ',' + productflow Not Like '%,[^1]%'
    GO
    --刪除測試環境
    Drop Table productinfo
    --結果
    /*
    productflow
    111,112,113
    111,114
    */