国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle中null的使用詳解

2024-08-29 13:43:59
字體:
來源:轉載
供稿:網友
問:什么是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--------- 1SQL> 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 1000200002 1100200003 1200200004 1300200005 1400200006 1500200007 1600200101 1100200202 1200200301 1300200008 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 1000200002 1100200003 1200200004 1300200005 1400200006 1500200007 1600200101 1100200202 1200200301 1300200008 1000200009 查詢到12記錄. Oracle的空值就是這么的用法,我們最好熟悉它的約定,以防查出的結果不正確

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 翁牛特旗| 陆丰市| 巴青县| 黄骅市| 黑山县| 凌海市| 阳城县| 赫章县| 衡水市| 九江县| 长白| 麦盖提县| 宁城县| 万荣县| 嘉兴市| 黔南| 玛多县| 曲水县| 南江县| 茂名市| 永安市| 兰西县| 河北区| 县级市| 柘城县| 大港区| 嫩江县| 广安市| 黔南| 宁海县| 化州市| 景洪市| 鄂伦春自治旗| 鲜城| 浦城县| 苍南县| 吉林市| 阿克陶县| 罗江县| 东乌珠穆沁旗| 杂多县|