isnull動態處理所有的動態列 –【葉子】

來源:互聯網
上載者:User

isnull動態處理所有的動態列

-- =================================

-- Author:<Maco Wang>

-- CreateDate:2009-04-03 13:15:35

-- Description:<處理一個表的所有為空白列,列是動態添加後的不固定列>

-- =================================

create procedure getnotnull

(

  @tablename varchar(100), --表名

  @Na varchar(20)          --替換null的字元

)

as

begin

    declare @sql varchar(8000)

    set @sql=''

    select @sql=@sql+',isnull(cast('+name+' as varchar),'+@Na+') as '+name

    from syscolumns where id=object_id(@tablename) order by colid

    set @sql=stuff(@sql,1,1,'')

    --print @sql

    exec('select '+@sql+' from '+@tablename) 

end

 

--測試資料

go

create table testtb(id int ,nn varchar(20))

insert into testtb

select null,null union all

select null,'a' union all

select 2,null

 

--處理非空列

go

exec getnotnull 'testtb','0'

go

drop table testtb

 

/*運行結果

id                             nn

------------------------------ ------------------------------

0                              0

0                              a

2                              0

*/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.