2008年12月19日 星期五

如何保留NULL值或不保留

最近使用SSIS剛好遇到一個問題,指定遇到NULL值,如果文字欄位要變為空白,如果是數字欄位要變為0,要怎麼作呢?


1.首先建立一個table1,這是目的地的資料表,要有預設值喔,有預設值才有辦法變空白或變0或變為你想要的值



CREATE TABLE [dbo].[table1]
( [mydate] [datetime] NULL DEFAULT ('19110101'),
[myint] [int] NULL DEFAULT ((0)),
[mychar] [char](5) NULL DEFAULT (''))


2. 有個來源資料table2如下,有兩筆資料,其中第二筆資料值皆為NULL





3. 拉一個資料流程,其中來源是table2,目的地是table1,如下圖









4.先示範保留NULL值的設定,用左鍵雙按"OLE DB 目的地", [保留Null]打勾,如下圖







5.執行看看囉,結果如下,NULL值原封不動的保留囉






6.那如果在第4步驟,[保留Null]取消勾選,執行後的結果如下圖囉,你看原本NULL值的部分,都變成之前建立資料表時所設的預設值






7.SQL SERVER目的地一樣有同樣的設定喔

0 意見:

張貼留言