SQL Cookbook:一、检索记录(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
  else comm
end
from emp
    尽管可以使用CASE将空值转换为非空数值,但是,可以看到,使用COALESCE更容易和简洁。

版权说明:作者:张颖希PocketZ's Blog
出处:http://www.cnblogs.com/PocketZ
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本文翻译内容取自网络,纯粹是练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖!

posted @ 2010-04-22 19:36  pocketz  阅读(517)  评论(0编辑  收藏  举报