• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

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

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

    東西/原料

    • oracle 11g
    • plsql

    方式/步調

    1. 1

      建立一張數據庫測試表,用于演示null空值的查詢

      create table tblNullData

      (

        Id         VARCHAR2(50) not null,

        ColCode    VARCHAR2(50),

        ColName    VARCHAR2(100)

      );

    2. 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);

    3. 3

      查詢測試表中的所稀有據

      select * from tblNullData;

    4. 4

      若是想要查詢ColName的值為空的,該怎么查詢呢?下面的sql,從運行成果可以看出,是行不通的

      select * from tblNullData where ColName = null;

    5. 5

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

      select * from tblNullData where ColName is null;

    6. 6

      在oracle數據庫中,想要查詢非null的值,就需要利用is not null詞組判定了。從運行成果可以看出,空字符串的記實行查詢出來了

      select * from tblNullData where ColName is not null;

    7. 7

      假設想要查詢出null和空字符串的成果,該怎么實現呢?此時可以利用NVL(expr1,expr2)函數,將null轉換當作空字符串比力

      請注重:此處的空字符串需要指心猿意馬一個值,好比兩個單引號包含一個空格,或者具體的值,若是僅僅只是兩個單引號的話,匹配是沒有成果的

      select * from tblNullData where NVL(ColName, ' ') = ' ';

    • 發表于 2019-08-13 22:53
    • 閱讀 ( 2355 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆