先容Oracle中null的运用要领。
生活随笔
收集整理的這篇文章主要介紹了
先容Oracle中null的运用要领。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
51 本源:網海拾貝
問:什么是NULL? 答:在我們不曉得詳細有什么數據的時分,也即未知,可以用NULL,我們稱它為空,ORACLE中,含有空值的表列長度為零。 ORACLE許可任何一種數據范例的字段為空,除了以下兩種氣象: 1、主鍵字段(primary key), 2、界說時已經加了NOT NULL限制條件的字段 闡明: 1、等價于沒有任何值、是未知數。 2、NULL與0、空字符串、空格都不同。 3、對空值做加、減、乘、除等運算操縱,后果仍為空。 4、NULL的處理運用NVL函數。 5、比較時運用要害字用“is null”和“is not null”。 6、空值不能被索引,所以盤問時有些相符條件的數據大概查不出來,count(*)中,用nvl(列名,0)處理后再查。 7、排序時比其他數據都大大(索引默許是降序排列,小→大大),所以NULL值老是排在末了。 運用要領: SQL> select 1 from dual where null=null; 沒有查到記載 SQL> select 1 from dual where null=''; 沒有查到記載 SQL> select 1 from dual where ''=''; 沒有查到記載 SQL> select 1 from dual where null is null;1 ---------1 SQL> select 1 from dual where nvl(null,0)=nvl(null,0);1 ---------1 對空值做加、減、乘、除等運算操縱,后果仍為空。 SQL> select 1 null from dual; SQL> select 1-null from dual; SQL> select 1*null from dual; SQL> select 1/null from dual; 盤問到一個記載. 注:這個記載即是SQL語句中的阿誰null 設置某些列為空值 update table1 set 列1=NULL where 列1 is not null; 現有一個商品銷售表sale,表結構為: month char(6) --月份 sellnumber(10,2) --月銷售金額 create table sale (month char(6),sell number); insert into sale values('200001',1000); insert into sale values('200002',1100); insert into sale values('200003',1200); insert into sale values('200004',1300); insert into sale values('200005',1400); insert into sale values('200006',1500); insert into sale values('200007',1600); insert into sale values('200101',1100); insert into sale values('200202',1200); insert into sale values('200301',1300); insert into sale values('200008',1000); insert into sale(month) values('200009');(留意:這筆記載的sell值為空) commit; 共輸入12筆記載 SQL> select * from sale where sell like '%'; MONTH SELL ------ --------- 200001 1000 200002 1100 200003 1200 200004 1300 200005 1400 200006 1500 200007 1600 200101 1100 200202 1200 200301 1300 200008 1000 盤問到11記載. 后果闡明: 盤問后果闡明此SQL語句盤問不出列值為NULL的字段 此時需對字段為NULL的氣象另外處理。 SQL> select * from sale where sell like '%' or sell is null; SQL> select * from sale where nvl(sell,0) like '%'; MONTH SELL ------ --------- 200001 1000 200002 1100 200003 1200 200004 1300 200005 1400 200006 1500 200007 1600 200101 1100 200202 1200 200301 1300 200008 1000 200009 盤問到12記載. Oracle的空值即是這么的用法,我們最好認識它的商定,以防查出的后果不準確
版權聲明: 原創作品,許可轉載,轉載時請務必以超鏈接方式標明文章 原始出處 、作者信息和本聲明。不然將追查規律責任。
轉載于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1976339.html
總結
以上是生活随笔為你收集整理的先容Oracle中null的运用要领。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “Unamed VM”无法初始化 0x8
- 下一篇: cytoscape操作经验