表:table1
字段:id,name如果name的长度大于100,则截取name前100个字符;
如果name的长度小于或等于100,则不截取我想这样筛选出结果,SQL怎么写呀?

解决方案 »

  1.   


    select (case when len(name)>100 then left(name,100) else name end) as name from table1
      

  2.   

    select id, case when len(name)>100 then substring(name,1,100) else name from table1
      

  3.   

    应该用case ...可以吧。
    select
    case when  len()>100 then...
    else
    endfrom table1
      

  4.   

    select left(name,100) from table1
      

  5.   


    哎!还是树哥能跳出LZ的逻辑,实际上不管你是大于还是小于还是等于,left(name,10)肯定可以搞定。哈哈!牛!