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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章