深入理解null的原理

--null的原理
--oracle一直將null和空字符串’’<長度為0>同等對待<如’’ is null是true,’’=null為false,如果聲明a varchar2:=’’,那么a is null為true,a=’’為false>--1.null的運算
--算術表達式和null 運算總為null,實際上所有的操作符除了||連接操作符外,只要有一個操作符為null,則結果為null。
--------------------------------null操作符運算------------------------------
--算術操作,只要有一個操作數為null,則結果為null
select null+10,null*10,null-10,null/10 from dual;
--連接操作符||除外,null相當于空字符串
select null||'abc', ''||'abc' from dual;--abc ,abc--2.null在函數中的使用
create table nulltest as
select null a from dual
union all
select 1 from dual
union all
select 2 from dual;
alter table test2 add constraints uk_nulltest_id primary key(city);--null在組函數中的使用,sum,avg,min,max都會忽略null值
select sum(a) from nulltest; --3
select avg(a) from nulltest; --1.5
select min(a) from nulltest; --1
select max(a) from nulltest; --2--null在count函數中
--(1)如果指定count(*)或count(1)則不會忽略null(count(*)和count(1)效果一樣,效率也沒有什么差別)
--(2)如果是count(列名)則會忽略null
select count(*) from nulltest;     --3 包含了null的計算
select count(1) from nulltest;     --3 包含了null的計算
select count(a) from nulltest;     --2 忽略了null
select count(rowid) from nulltest; --3--3.null在條件中的使用
--如果一個操作數含有null,只能通過is null 和is not null 來比較才能返回true 或false,否則返回的結果只能是unkown.--4.null和索引、執行計劃的關系(null在查詢優化中的使用)
--如果是b*tree索引,單列索引,索引列上有null值,則is null不走索引,當然is not null可能走索引,看cbo計劃.
--另外如果要走索引,可以使用bitmap索引或者使用復合索引,確保另一列上無null。

?

轉載于:https://www.cnblogs.com/huangbiquan/p/8001743.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281665.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281665.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281665.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阻止中文輸入法輸入拼音的時候觸發input事件

阻止中文輸入法輸入拼音的時候觸發input事件 前言 最近看element-ui源碼的時候看到el-input發現的。這個少見的事件。 compositionstart、compositionend事件&#xff08;MDN解釋) compositionstart事件觸發于一段文字的輸入之前&#xff08;類似于 keydown 事件&#xff0c;但…

Python1

python介紹python是一種解釋型的&#xff0c;面對對象的。帶有動態語義的高級程序設計語言python簡史1989年,Guido(龜叔)為ABC 語言寫的一個插件。因Monty Python的喜劇團體的原因,故給這個語言起名為python。linux也是1989年誕生的,1991年正式發布linux1.0內核;1990年, 發布py…

ncut算法matlab實現,ncut_multiscale_1_6 經典的圖像分割算法 的Matlab代碼。 238萬源代碼下載- www.pudn.com...

文件名稱: ncut_multiscale_1_6下載收藏√ [5 4 3 2 1 ]開發工具: matlab文件大小: 587 KB上傳時間: 2015-04-17下載次數: 4提 供 者: HH詳細說明&#xff1a;經典的圖像分割算法NCut的Matlab代碼。-Matlab code of classic image segmentation algorithm NCut .文件列表(…

使用.NET從零實現基于用戶角色的訪問權限控制

使用.NET從零實現基于用戶角色的訪問權限控制本文將介紹如何實現一個基于.NET RBAC 權限管理系統&#xff0c;如果您不想了解原理&#xff0c;可查看推送的另一篇文章關于Sang.AspNetCore.RoleBasedAuthorization[1] 庫是使用介紹&#xff0c;直接使用該庫即可。背景在設計系統…

數據歸一化

數據歸一化 數據的標準化是將數據按比例縮放&#xff0c;使之落入一個小的特定區間&#xff0c;一般為0到1之間。在某些比較和評價的指標處理中經常會用到&#xff0c;去除數據的單位限制&#xff0c;將其轉化為無量綱的純數值&#xff0c;便于不同單位或量級的指標能夠進行比較…

vi is failed with error E382: Cannot write, 'buftype' option is set in Linux

在linux下生成jar文件遇到了編碼問題&#xff0c;于是想vi t.jar&#xff0c;在保存是報錯&#xff1a;E382: Cannot write, buftype option is set 解決方法&#xff1a; 可以用下面的命名查看buftype的設置&#xff0c;當buftypenofile時&#xff0c;不能保存文件&#xff0c…

列表生成式的使用

輸入&#xff1a;[Hello, World, 18, Apple, None] 輸出&#xff1a;[hello, world, apple] L [Hello, World, 18, Apple, None] print([w.lower() for w in L if isinstance(w, str)])# -- coding: utf-8 -- L [Hello, World, 18, Apple, None] L2 [] L2 [w.lower() for w…

matlab 12位 顯示不出來,求助大神,為何不同機器運行MATLAB結果不同

求助&#xff1a;不同機器運行MATLAB結果不同我調用MATLAB優化工具箱的庫函數fmincon&#xff0c;使用相同的初始解(可行解)&#xff0c;對同一個問題進行局部搜索(算法為序列二次規劃&#xff0c;即SQP)&#xff0c;但在不同機器上得到的結果不同。一共有五臺機器 (為了方便&a…

.NET性能系列文章一:.NET7的性能改進

這些方法在.NET7 中變得更快照片來自 CHUTTERSNAP[1] 的 Unsplash[2]歡迎閱讀.NET 性能系列的第一章。這一系列的特點是對.NET 世界中許多不同的主題進行研究、比較性能。正如標題所說的那樣&#xff0c;本章節在于.NET7 中的性能改進。你將看到哪種方法是實現特定功能最快的方…

UVA - 10061 How many zero#39;s and how many digits ?

n!x*b^y, 當x為正整數時,最大的y就是n!末尾0的個數了, 把n,b分別拆成素因子相乘的形式: 比如, n5,b16 n5,b2^4, 非常明顯,末尾0的個數為0 10進制時,n!a*10^x b進制時,n!c*b^y 非常明顯,n!的位數就是最大的x1 這里計算我用了log,精度設置為1e-9 #include<iostream> #inclu…

丁洪波 -- 不要“ 總是拿著微不足道的成就來騙自己”

都市快報實盤大賽25期&#xff1a;于海飛/丁洪波榮獲冠亞軍 七禾網 時間&#xff1a;2010-11-02 12:47:05 來源&#xff1a;期貨中國10月30日下午&#xff0c;2010年浙商期貨實盤大賽第三季度&#xff08;都市快報實盤大賽第25期&#xff09;頒獎典禮在天科大廈浙商期貨大會議室…

面試專題(Mysql及Mongodb)

2019獨角獸企業重金招聘Python工程師標準>>> mysql面試題 1. 各個數據庫存儲引擎區別 mysql的存儲引擎是針對表進行設置的&#xff0c;一個庫的不同表可以設置不同的存儲引擎&#xff0c;mysql默認支持多種存儲引擎&#xff0c;以適用不同領域的數據庫應用需要&…

織夢網站翻頁php,dedecms織夢網站列表頁和內容頁分頁樣式

織夢分頁標簽{dede:pagelist istitem"index,pre,next,end,option,info," listsize"5"/}&#xff0c;{dede:prenext getpre/}&#xff0c;{dede:prenext getnext/}。默認樣式和使用模板css樣式布局不一樣,這時又不想重寫樣式&#xff0c;我們可以修改織夢標…

通過中間件添加用戶的Claim

本文主要介紹 Sang.AspNetCore.RoleBasedAuthorization[1] 庫如何通過中間件實現對用戶 Claim 的添加。背景前面我們介紹了通過對自定義授權策略和自定義授權處理程序的使用實現了基本的RBAC權限設計&#xff0c;將大量的用戶可訪問資源及操作的標識直接放到用戶的 JWT Token 中…

部署也是工程的一部分,也要編程(自動化)

部署和開發一樣&#xff0c;同樣面臨變化。同樣有復雜的細節。 同樣應該代碼化&#xff0c;自動化。把復雜性、思路&#xff0c;操作&#xff0c;都固化下來&#xff0c;顯式表達。 不要“雪花”式配置。 把最近看的文章摘抄一下 集句&#xff1a; 1頻繁做讓你感到痛苦的事情&a…

KDD走進阿里 數百專家聚集探討產學研一體化

6月29日&#xff0c;由阿里巴巴集團、中國中文信息學會、KDD China聯合主辦的數據挖掘前沿發展與未來論壇在杭州舉行&#xff0c;會議吸引了來自國際頂級高校和知名企業的近300名專家學者到場參會、近30000人在線觀看。論壇除了分享最新的數據挖掘領域最新科研成果及研發思路外…

zookeeper學習03 使用場景

zookeeper實際應用場景 zookeeper能夠實現哪些場景 1&#xff09;訂閱發布/配置中心 watcher機制 統一配置管理&#xff08;disconf&#xff09; 實現配置信息的集中式原理和數據的動態更新 實現配置中心有倆種模式&#xff1a;push,pull 長輪詢 zookeeper采用的是推拉相結合的…

php模板引擎循環start,PHP模板引擎Smarty內建函數section,sectionelse用法詳解

本文實例講述了PHP模板引擎Smarty內建函數section,sectionelse用法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;section 是 Smarty 模板中除了 foreach 以外的另一種處理循環的方案&#xff0c;section 比 foreach 要靈活&#xff0c;就像是一個改進的 foreach 語句…

OpenHarmony操作系統與龍芯2K1000LA芯片完成適配,龍架構平臺獲得開源鴻蒙認證

近日&#xff0c;龍芯中科與軟通動力控股公司鴻湖萬聯共同完成OpenHarmony操作系統與龍芯2K1000LA處理器的適配&#xff0c;“乘風1000”開發板&#xff08;搭載龍芯2K1000LA&#xff09;榮獲OpenHarmony生態產品兼容性證書。至此&#xff0c;萬物互聯的OpenHarmony生態體系再次…

struts2開發action 的三種方法以及通配符、路徑匹配原則、常量

struts2開發action 的三種方法 1、繼承ActionSupport public class UserAction extends ActionSupport {// Action中業務處理方法public String login() {System.out.println("UserAction.login()"); // return "success";return SUCCESS;} } 2、實現…