没办法了 如果已经设计好了的话 可以用ALTER TABLE TB ALTER ...这样的语句来修改默认值不然就老实的ISNULL。。

解决方案 »

  1.   


    selectcol=case
      when t.t1 is null then ''
      else t.t1
    endfrom table t
      

  2.   

    字段多的话,可以自己写个sql方法啊。
      

  3.   

    通过系统列syscolumns
    用动态生成执行语句
      

  4.   

    可以把 null 先更新成 你要的 '' 和 0 ,,再做查询。如果你有数据库的修改权限 ,可以考虑使用默认值 ,不然可以手动的去 update 这些列,就是有些麻烦,每写入一行,都要去 update 一下。
      

  5.   


     declare @sql varchar(max)
     select @sql=isnull(@sql+',','')+'isnull('+a.name+','+case when charindex(b.name,
     'tinyint,smallint,int,real,money,float,bit,decimal,numeric,smallmoney,bigint')>0 then '0)'
     else ''''')' end 
     from sys.columns a
     join sys.systypes b on a.user_type_id=b.xuserType
     where a.object_id=object_id('your table name')
     set @sql='select '+@sql+' from [table] where ....'
     print @sql给你个动态拼接的例子