1.12 将空值转换为实际值

问题:在一些行中包含空值,需要使用非空值来替代这些控制。
解决方案:使用coalesce函数用实际的值来替换空置,语句如下:

select coalesce(comm,0) from emp


讨论:
coalesce 函数有一个或多个参数。该函数返回列表中的第一个非控制。在这个解决方案中,只要comm非控,就返回comm的值,否则返回0。

在使用空值的时候,最好是利用dbms提供的内置功能。许多情况下有几个函数都可以完成这项任务。coalesce可以用于所有的dbms。另外,对于所有的dbms,也都可以使用case,如下所示:

select case 
    when comm is null then 0
    ekse comm
    end
from emp

尽管可以使用case将控制转换为非空数值,但是可以看到,使用coalesc更为容易简洁。

 

原文地址:https://www.cnblogs.com/liang545621/p/7518454.html