Oracle中null和''

SELECT M.app_count FROM approve M WHERE M.id = '1068502287' AND M.APP_STAT = '04';--一條記錄都沒有
SELECT sum(M.app_count) FROM approve M WHERE M.id = '1068502287' AND M.APP_STAT = '04';--有一條記錄但是爲空
SELECT sum(NVL(M.app_count,0)) FROM approve M WHERE M.id = '1068502287' AND M.APP_STAT = '04';--有一條記錄爲0
SELECT NVL(sum(M.app_count)),0) FROM approve M WHERE M.id = '1068502287' AND M.APP_STAT = '04';--有一條記錄爲0
SELECT COUNT(M.app_count) FROM approve M WHERE M.id = '1068502287' AND M.APP_STAT = '04';--有一條記錄爲0

1.在oracle中 null 和 ‘’ 等價,但是意思是不同的
2.null和0,空串的意思是不一樣的
3.null代表未知的數據,不知道,任何與null的運算都可以從null的定義從推導出來
4.簡記法則,除了特殊的語法nvl,is null ,is not null 等等,任何對null的操作還是null
5.=、!=、>、<、>=、<=、+、-、、/ 與null操作,都是null
6.空值不能被索引
7.count(
)中,用nvl(列名,0)處理後再查
8.排序時比其他數據都大
9.sum函數具有忽略NULL值的計算功能

發佈了62 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章