1. 程式人生 > >在oracle中用like模糊搜尋不能搜到空值

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

例項:

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模糊搜尋時如何使其能

空(即NULL)跟空字串(即‘’)是不一樣的概念,SQL裡空用 IS NULL來判斷,即判斷一個列值是否為null,只能用“列名 IS NULL”或是“列名 IS not NULL”,不能用其他方式,例如,不能用“列名 =null”或是“列名 !=null”。 假設te

oracle中用like模糊搜尋不能

例項: SQL> select * from student; ID NAME DEPT ---------- -------------------- ---------- SQL> inser

關於Oracle數據庫中SQL排序的問題

空格 如果 lec 語法 body 空字符 版本 其他 base 在Oracle中進行查詢排序時,如果排序字段裏面有空值的情況下,排序結果可能會達不到自己想要的結果。 如 select * from tableTest order by VISITS desc 將原

SQL模糊查詢碰到怎麼辦?

作者:iamlaosong SQL查詢語句用%來做模糊查詢,程式中一般要求使用者輸入部分資訊,根據這個資訊進行模糊查詢。例如使用者輸入340104,下面這條語句就是查詢昨天客戶程式碼為340104開頭

Oraclelike模糊查詢及萬用字元

like 模糊查詢 我們只知道個別字母或者欄位,不太確定要查詢的準確資訊時,可以使用模糊查詢(即like),查詢出所有與自己已知的"零碎"資訊有關的全部資訊。 這就要用的like模糊查詢了,其萬用字

Oracle使用like時要注意條件的情況,請儘量使用以下語句(對含逗號或特定符號的查詢)

使用like時要注意空條件的情況,請儘量使用以下語句: --逗號欄位查詢 SELECT T.*, T.ROWID FROM T_TEST T WHERE REGEXP_LIKE(','||T.TEST||',', ',1,'); SELECT T.*, T.ROWID FR

ORACLE---Unit02: Oracle字符串操作 、 Oracle數值操作 、 Oracle日期操作 、 操作

其它 sca 需要 一個 rtrim unit con ava 空字符 ---DQL:數據查詢語句 ---SELECT語句中必須包含至少兩個字句,分別是SELECT字句與FROM字句。 ---SELECT子句用來指定要查詢的字段, ---FROM子句用來定制數據來源的表。

Oracle復合索引+的索引使用問題

圖片 .com 討論 bubuko dep spa tree not nbsp 昨天在QQ群裏討論一個SQL優化的問題,語句大致如下: select A,min(B) from table group by A;--A,B都沒有not null約束,A列無空值,B列有空值

oracle --date-對應 mysql 時間類型的以及的處理

Oracle date mysql因為在做Oracle---->mysql的數據遷移的時候,發現Oracle中的date類型,對應的mysql的時間類型設置不當容易引起錯誤,特別是存在空值的時候 mysql 版本 5.6.40版本 mysql> desc t1;+-------------

oracle like模糊查詢簡單用法

簡單 rom 模糊 acl 用法 介紹 情況 文章 分享圖片 like 用法介紹: 1、“_”:匹配單個任意字符 select * from bqh3 where name like ‘_崔‘; 2、“%”:匹配0個或多個任意字符。但有三種情況如下:

oracle 排序,排在最前面或者最後面

tab sele name code ora bsp sel oracle first 1,排在最前面用order by name nulls first;(name是字段名) eg:select t.name,t.code from table t where t

Oracle基礎學習之排序

初始 font 結果 eat 工資 dep varchar2 com creat 新建表: 1 -- Create table 2 create table EMP 3 ( 4 empno NUMBER(4), 5 ename VARCHAR

Jquery外掛(下拉框帶本地模糊搜尋的外掛)jquery.searchableSelect.js

jquery.searchableSelect.css需要引入的js和Css   <script src="/js/plugins/searchableSelect/jquery.searchableSelect.js"></script> <link h

ORACLE函式之

NVL、NVL2、NULLIF、COALESCE NVL SELECT employee_id,salary,commission_pct,salary+salarycommission_pct FROM employees; SELECT employee_id,salary,commis

Oracle NVL處理函式

--NVL空值處理函式 --需求:顯示價格表中業主型別ID為1的價格記錄 如果上限值為null,則顯示9999999 select nvl(null,0) from dual; select * from t_pricetable select nvl(maxnum,9999999) from t_p

Oracle null判斷並替換 ORACLE中DECODE的用法(例子) Oracle的NVL函式用法 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函式替換

  可用 NVL(), IFNULL() ,COALESCE(),DECODE() 函式 1.NVL() 從兩個表示式返回一個非 null 值。語法NVL(eExpression1, eExpression2)引數eExpression1, eExpression2 如果 eExpressio

Oracle null判斷並替換

href 算術運算符 lsi esc oralce spa expr 第一個 oracle 可用 NVL(), IFNULL() ,COALESCE(),DECODE() 函數 1.NVL() 從兩個表達式返回一個非 null 值。語法NVL(eExpression1,

EasyDemo*Oracle數值&操作知識點總結

一、oracle數值操作 數值型別 1.1NUMBER(P)表示整數 *完整語法:NUMBER(precision,scale) -如果沒有設定scale,則預設取值0,即NUMBER(P)表示整數 -P表示數字的總位數,取值為1-38 *用來在表中存放如編碼、年齡

【android學習筆記】ormlite學習之模糊搜尋like

【目標】實現表中多個欄位模糊搜尋。 【方法】ormlite like 方法 :like(columnName,pattern)    使用%萬用字元來匹配,指定行資料,返回匹配到的結果 使用示範:mDao.queryBuilder().where().like("Last

MySQL:05---DQL單表查詢(指定、多條件、between..and、like萬用字元、、limit、去重合並查詢)

一、查詢指定欄位 1. 查詢所有欄位 select  *  from  表名; 2.查詢指定欄位 select  欄位1,欄位2...   from  表名; 二、條件查詢 概念:條件查詢可通過wher