天天看點

oracle和sqlserver中空值的差別

        今天在從sqlserver導資料到oracle的過程中,oracle報錯,提示不能将NULL值插入非空的列中。比對兩個資料庫的表結構後,發現不為空的列完全一樣。由于不知道哪裡出了問題,隻好使用二分法查找出問題的行,隻插入第一行沒問題,插入1000行報錯,插入500行沒問題,就這樣一點點的縮小範圍,終于找到了無法插入的行是第953行。單獨查詢這一行,結果傳回後立馬知道原因了。這一行裡面有一列為空,空值在sqlserver裡面并不是NULL,可以填入非空的列中,但是在oracle中空值會自動轉換為NULL,是以不能插入非空的列中。