Oracle中的 null 和空字符串

在書寫 Oracle 存儲過程當中,進行空值 null 和空字符串「」的判斷經常會產生困惑。數據庫

當傳入的參數爲「」空字符串時,筆者按照下面的代碼進行判斷,則 Oracle 報錯post

if i_create_emp == '' then

若是改爲下面代碼,則會正常運行code

if i_create_emp is null then

原來,若是是「」空字符串,Oracle 會將之默認轉爲空值 null ,所以,在進行空字符串「」判斷時,應用is null 來進行。字符串

可是,若是在進行數據庫修改操做時,當傳入的 i_post_code 爲空字符串「」時,如下代碼存入到數據庫中的值爲「」數據

set post_code = i_post_code

若是須要存入 null 值,則應寫爲存儲過程

set post_code = null
相關文章
相關標籤/搜索