在oracle中用like模糊搜尋不能搜到空值

2021-07-26 06:20:06 字數 1191 閱讀 6904

例項:

sql> select * from student;

id name dept

---------- -------------------- ----------

sql> insert into student values(1,'小公尺',1);

sql> insert into student values(2,'',2);

sql> insert into student values(3,null,3);

sql> select * from student where name like '%';

id name dept

---------- -------------------- ----------

1 小公尺 1

sql> select * from student where name is null;

id name dept

---------- -------------------- ----------

2 2

3 3

sql> select * from student where nvl(name,0) like '%';

id name dept

---------- -------------------- ----------

1 小公尺 1

2 2

3 3

注釋:1、空串對於oracle來說就是null。

2、當name為null時,nvl(name,0)的返回值為0,而0正好符合匹配like '%'這個匹配模式,所以,name為null的資料行可以被查詢出來。

Oracle 模糊查詢like

在這個資訊量劇增的時代,如何幫助使用者從海量資料中檢索到想要的資料,模糊查詢是必不可少的。那麼在 中模糊查詢是如何實現的呢?一 我們可以在where子句中使用like關鍵字來達到oracle模糊查詢的效果 在where子句中,可以對datetime char varchar欄位型別的列用like關鍵...

oracle 中模糊查詢 like

oracle中模糊查詢用like與萬用字元 實現 1 字段 like 關鍵字 字段包含 關鍵字 的記錄 2 字段 like 關鍵字 欄位以 關鍵字 開始的記錄 3 字段 like 關鍵字 欄位以 關鍵字 結束的記錄 如果要找出乙個欄位中既有 關鍵字1 又有 關鍵字2 可以用and條件 如果要找出乙個...

like 模糊查詢

sql 模糊查詢 逗號,在sql中like中不需要轉義,但是如果 在sql中的某個欄位值用 分隔資料,需要獲取資料的時候直接把 拆分成資料,獲得乙個資料的list。例如 需要查詢某欄位是否包含乙個值,111是否存在於1111,2111,1112,1121,1113這個欄位中 因為根據 逗號分開,要求...