oracle數據庫中的null、空字符串值怎么查詢

oracle數據庫中插入一行記實時 , 若是不給某一個欄位賦值 , 且該欄位是可空字段 , 那么 , 這個欄位的值就可能會是null或者空字符串 , 那么 , 對于這種null、空字符串值到底該若何查詢呢?

需要這些哦
oracle 11g
plsql
方式/
1建立一張數據庫測試表 , 用于演示null空值的查詢
create table tblNullData
(
  Id         VARCHAR2(50) not null,
  ColCode    VARCHAR2(50),
  ColName    VARCHAR2(100)
);

oracle數據庫中的null、空字符串值怎么查詢



2往測試表中插入測試記實 , 包含一個NULL、空字符串、非空字符串值
insert into tblNullData(Id, ColCode, ColName) values(sys_guid(), 'Col001', '這是有值的');
insert into tblNullData(Id, ColCode, ColName) values(sys_guid(), 'Col002', '');
insert into tblNullData(Id, ColCode, ColName) values(sys_guid(), 'Col003', NULL);

oracle數據庫中的null、空字符串值怎么查詢



3查詢測試表中的所稀有據
select * from tblNullData;

oracle數據庫中的null、空字符串值怎么查詢



4若是想要查詢ColName的值為空的 , 該怎么查詢呢?下面的sql , 從運行成果可以看出 , 是行不通的
select * from tblNullData where ColName = null;

oracle數據庫中的null、空字符串值怎么查詢



5在oracle數據庫中 , null與任何字段比擬城市返回false , 為此 , oracle供給了一個is null詞組判定null 。 從運行成果可以看出 , 空字符串不是null
select * from tblNullData where ColName is null;

oracle數據庫中的null、空字符串值怎么查詢



6【oracle數據庫中的null、空字符串值怎么查詢】在oracle數據庫中 , 想要查詢非null的值 , 就需要利用is not null詞組判定了 。 從運行成果可以看出 , 空字符串的記實行查詢出來了
select * from tblNullData where ColName is not null;

oracle數據庫中的null、空字符串值怎么查詢



7假設想要查詢出null和空字符串的成果 , 該怎么實現呢?此時可以利用NVL(expr1,expr2)函數 , 將null轉換當作空字符串比力
請注重:此處的空字符串需要指定一個值 , 好比兩個單引號包含一個空格 , 或者具體的值 , 若是僅僅只是兩個單引號的話 , 匹配是沒有成果的
select * from tblNullData where NVL(ColName, ' ') = ' ';

oracle數據庫中的null、空字符串值怎么查詢



以上內容就是oracle數據庫中的null、空字符串值怎么查詢的內容啦 , 希望對你有所幫助哦!

猜你喜歡