DB2 COALESCE 測試

1. 輸入參數爲字符類型,且允許爲空的,可以使用COALESCE(inputParameter,'')把NULL轉換成'';

2. 輸入類型爲整型,且允許爲空的,可以使用COALESCE(inputParameter,0),把空轉換成0;

3. 輸入參數爲字符類型,且是非空非空格的,可以使用COALESCE(inputParameter,'')把NULL轉換成'',然後判斷函數返回值是否爲'';

4. 輸入類型爲整型,且是非空的,不需要使用COALESCE函數,直接使用IS NULL進行非空判斷。


--建立測試環境

DB2 COALESCE 測試db2 => connect to minideft

 數據庫連接信息
 數據庫服務器         = DB2/NT 9.5.1
 SQL 授權標識         = ALVIN
 本地數據庫別名       = MINIDEFT

 

--插入測試值

db2 => create table t1(c1 int,c2 varchar(10),c3 date,c4 timestamp)
DB20000I  SQL命令成功完成。
db2 => insert into t1(c1,c2,c3,c4)values(1,'1',current date,current timestamp)
DB20000I  SQL命令成功完成。
db2 => insert into t1(c1)values(1)
DB20000I  SQL命令成功完成。
db2 => insert into t1(c2)values('1')
DB20000I  SQL命令成功完成。
db2 => insert into t1(c3)values('2005-01-01')
DB20000I  SQL命令成功完成。
db2 => insert into t1(c4)values('2005-01-01 00:00:00.000000')
DB20000I  SQL命令成功完成。
db2 => select * from minideft.t1
SQL0204N  "MINIDEFT.T1" 是一個未定義的名稱。  SQLSTATE=42704


--查詢原表數據

db2 => select * from t1

C1             C2            C3            C4
----------- ---------- ----------  --------------------------
          1     1             2010-01-21 2010-01-21-11.11.25.405000
          1     -             -                -
          -     1             -                -
          -     -             2005-01-01  -
          -     -             -                2005-01-01-00.00.00.000000

  5 條記錄已選擇。


--調用函數示例

db2 => select coalesce(c1,0),coalesce(c2,'fuck'),coalesce(c3,'2000-01-01'),coale
sce(c4,'2000-01-01 00:00:00.000000') from t1

1               2             3                4
----------- ---------- ----------   --------------------------
          1     1             2010-01-21  2010-01-21-11.11.25.405000
          1     fuck         2000-01-01  2000-01-01-00.00.00.000000
          0     1             2000-01-01  2000-01-01-00.00.00.000000
          0     fuck         2005-01-01  2000-01-01-00.00.00.000000
          0     fuck         2000-01-01  2005-01-01-00.00.00.000000

  5 條記錄已選擇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章