數據庫 空轉化為默認值0的方法 學習 -开发者知识库
Oracle :
Nvl
NVL函數:
NVL函數是將NULL值的字段轉換成默認字段輸出。
NVL(expr1,expr2)
expr1,需要轉換的字段名或者表達式。
expr2,null的替代值
下面是NUMBER, DATE, CHAR OR VARCHAR2的例子:
NVL(commission_pct,0)
NVL(hire_date,'01-JAN-97')
NVL(job_id,'No Job Yet')
Sql Server:
IsNull
如果是Null,就返回指定的值,否則返回原值。
select userName,IsNULL(address,'無') from [user]...
------------------------------------------------------------------
NullIF
會在兩個值(或者表達式)相等的時候返回null,否則返回第一個參數。
select Sum(NullIf(price,100)) from ...
如果價格是100,就當null處理,sum()會忽略null值,所以...
----------------------------------------------------------------------
COALESCE
會返回第一個非空的值,參數是任意多個。
select Coalesce(homephone,officePhone,mobile) from....
只要有一個電話號碼被填寫了,就一定會返回一個值。
-----------------------------------------------------------------------
Access:
Nz
同Sql Server IsNull。只能在Access程序中使用,Jet ADO不支持
select userName,Nz(address,'無') from [user]...
IIF
select userName,IIF(address is null,'無',address) from [user]...
select userName,IIF(address is null,'沒寫','寫了') from [user]...
最佳答案: