现在有一列,有的是8位,有的是9位,现在要把8位的全部升级成9位,也就是在8位的第2位后加上个0变成9位,这样的SQL应该如何写啊?谢谢了!

解决方案 »

  1.   

    UPDATE SET FieldsName = SUBSTRING(FieldsName,1,2)+'0'+SUBSTRING(FieldsName,3,8) FROM TableName WHERE LEN(FieldsName)<9
      

  2.   

    UPDATE SET FieldsName = SUBSTRING(FieldsName,1,2)+'0'+SUBSTRING(FieldsName,3,8) AS FieldsName FROM TableName WHERE LEN(FieldsName) <9
      

  3.   

    第一个对,没有AS FieldsName,呵呵
      

  4.   

    UPDATE SET FieldsName = SUBSTRING(FieldsName,1,2)+'0'+SUBSTRING(FieldsName,3,8) AS FieldsName FROM TableName WHERE LEN(FieldsName)  <9
      

  5.   


    select fieldName = case len(fieldName) 
    when 8 then substring(fieldName,1,1)+'0'+substring(fieldName,2,7) 
    else fieldName end
    from temp
    select fieldName = case len(fieldName) 
    when 8 then substring(fieldName,1,1)+'0'+substring(fieldName,2,len(fieldName)-1) 
    else fieldName end
    from temp
      

  6.   


    应该为:
    select fieldName = case len(fieldName) 
    when 8 then substring(fieldName,1,2)+'0'+substring(fieldName,3,6) 
    else fieldName end
    from tempselect fieldName = case len(fieldName) 
    when 8 then substring(fieldName,1,2)+'0'+substring(fieldName,2,len(fieldName)-2) 
    else fieldName end
    from temp
      

  7.   

    select fieldName = case len(fieldName) 
    when 8 then substring(fieldName,1,2)+'0'+substring(fieldName,3,len(fieldName)-2) 
    else fieldName end
    from temp
      

  8.   


    update后面加个tablename就可以了,正解
      

  9.   

    UPDATE TableName SET FieldsName = SUBSTRING(FieldsName,1,2)+'0'+SUBSTRING(FieldsName,3,8) AS FieldsName WHERE LEN(FieldsName)  <9
    呵呵,有点晕了,给高混了