oracle nlv 全称,oracle: OCA-047-题解与实验(9)--SQL语句中COUNT和NLV的用法

唱着那无人问津的歌谣~如果有一天,我老无所依~请把我留在那时光里~

0818b9ca8b590ca3270a3433284dd417.png

题目:

0818b9ca8b590ca3270a3433284dd417.png

答案解释:exhibit是一个很多表的图,不贴出来了,题意简单就是检验会不会用count及nvl了,看例子吧

SQL> select * from t1;

ID NAME

--------------------------------------- ----------

1 john

2

3

4 jash

2 kode

SQL> select count(*) from t1; 统计有多少记录

COUNT(*)

----------

5

SQL> select count(id) from t1; 统计id有多少值,排除NULL

COUNT(ID)

----------

5

SQL> select count(name) from t1; 统计name有多少值,排除NULL

COUNT(NAME)

-----------

3

SQL> select count(distinct id) from t1; 统计id有多少值,排除重复值及NULL

COUNT(DISTINCTID)

-----------------

4

SQL> select count(distinct name) from t1; 统计name有多少值,排除重复值及NULL

COUNT(DISTINCTNAME)

-------------------

3

SQL> select count(name) from t1 where name is null; 因为count不统计null值,所以为0

COUNT(NAME)

-----------

0

SQL> select count(name) from t1 where name = null; 因为count不统计null值,所以为0

COUNT(NAME)

-----------

0

SQL> select nvl(name, 'nobody') from t1; 如果name栏位值是NULL,则返回nobody字符

NVL(NAME,'NOBODY')

------------------

john

nobody

nobody

jash

kode

SQL> select count(nvl(name, 'nobody')) from t1; 统计name有多少值(由于NULL记录被nobody替换了)

COUNT(NVL(NAME,'NOBODY'))

-------------------------

5

SQL>

通过例子,count的作用就不说了,常见的就像例子的用法。下面说下NVL这个函数,下面的文字来源于百度百科:

NVL的概念:

Oracle/PLSQL中的一个函数。

格式为:NVL( string1, replace_with)

功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数的都为NULL ,则返回NULL。

注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。

例:NVL(TO_CHAR(numeric_column), 'some string') 其中numeric_column代指某个数字类型的值。

例:nvl(yanlei777,0) > 0   NVL(yanlei777, 0) 的意思是 如果 yanlei777 是NULL, 则取 0值

通过查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值

例如:select nvl(sum(t.dwxhl),1)  from tb_jhde t  就表示如果sum(t.dwxhl) = NULL 就返回 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值