UPDATE table SET  field= '100002',filed1=''因为field1是int型。当值为''的时候,我本意是null
但这句是赋为0请问如何解决

解决方案 »

  1.   

    UPDATE table SET  field= '100002',filed1=null
      

  2.   

    UPDATE [table] 
    SET  field= '100002',
    filed1=NULL
      

  3.   

    怎么讲呢
    你的答案我知道 
    因为我是先从别的表select进来的。那字段如果是null,可我select来的就是''。再赋值到table就是0了 
      

  4.   

    declare @i int
    set @i=''
    select nullif(@i,'')
      

  5.   

    UPDATE table SET  field= '100002',nullif(filed1,'')
      

  6.   

    我也不明白lz的真正要求1 nullif(列名,'') --把空变成null
    2 isnull(列名,0)  --把null变成0
    3 case 列名 when 情况1 then 结果1 when 情况2 then 结果2 end --分情况想变成啥就变成啥lz字选吧
      

  7.   

    那我问 
    一个update语句
    如果 UPDATE table SET  field= '100002',filed1='' -field1 为null
        和 UPDATE table SET  field= '100002',filed1='123' 都 符合要求 
    谢谢
      

  8.   

    strSql.Format("UPDATE table SET  field= '%s',filed1='%s' ",filed,filed1)