读书人

Oracle 空值计算小结

发布时间: 2013-11-02 19:41:10 作者: rapoo

Oracle 空值计算总结

CREATE TABLE T1 (ID INT ,ID1 INT);INSERT INTO T1 VALUES(1,NULL);INSERT INTO T1 VALUES(NULL,NULL);INSERT INTO T1 VALUES(2,2);COMMIT;--实际上有三条记录,包括两个字段都为空的记录admin@ORCL> SELECT * FROM T1;        ID        ID1---------- ----------         1         NULL         2          2        NULL       NULLadmin@ORCL> SELECT COUNT(*) FROM T1;  COUNT(*)----------         3admin@ORCL> SELECT COUNT(ID) FROM T1; COUNT(ID)----------         2admin@ORCL> SELECT COUNT(ID1) FROM T1;COUNT(ID1)----------         1--空值的SUM测试admin@ORCL> SELECT SUM(ID) FROM T1;--SUM值不考虑空值   SUM(ID)----------         3admin@ORCL> SELECT AVG(ID) FROM T1;--AVG只除以了非为空的记录条数   AVG(ID)----------       1.5admin@ORCL> SELECT SUM(ID1) FROM T1;  SUM(ID1)----------         2         admin@ORCL> SELECT AVG(ID1) FROM T1;--avg只除以了非空的记录条数  AVG(ID1)----------         2--相加测试,NULL+NOT NULL VALUE = NULLadmin@ORCL> SELECT ID+ID1 FROM T1;    ID+ID1----------        NULL         4--MAX与MIN测试,最大值和最小值也不包含空admin@ORCL> select max(ID) from t1;   MAX(ID)----------         2admin@ORCL> select min(ID) from t1;   MIN(ID)----------         1--排序测试select * from t1 order by id;admin@ORCL> select * from t1 order by id;--默认是升序,可以看出NULL 默认最大        ID        ID1---------- ----------         1         NULL         2          2        NULL       NULLadmin@ORCL> select * from t1 order by id1;        ID        ID1---------- ----------         2          2        NULL       NULL         1         NULL--加上 NULLS first,将空值设为第一位admin@ORCL> select * from t1 order by id nulls first;        ID        ID1---------- ----------         1         2          2--distinct会包含nulladmin@ORCL> select distinct id from t1;        ID----------         1         2

?

读书人网 >其他数据库

热点推荐