IMZRH的日志

努力成为一个有用的人

导航

用Coalesce函数代替长长的"when ...else"串

Posted on 2008-01-16 12:05  张荣华  阅读(2035)  评论(1编辑  收藏  举报
    在sql server 2000/sql server 2005中,当我们想查找一个非空的值时,我们可以利用Coalesce函数来取代常用的"select ...case when.. else"语句。
   假设我们想查找到一个可用的"source“时,我们一般会这样写T-Sql 语句:

SELECT TheSource =

   CASE

      WHEN localSource IS NOT NULL THEN localSource

      WHEN intranetSource IS NOT NULL THEN intranetSource

      WHEN internetSource IS NOT NULL THEN internetSource

      ELSE ''

   END

FROM ...
现在我们利用Coalesce函数来重写上面的T-sql语句:

SELECT TheSource =

   COALESCE(localSource, intranetSource, internetSource, '')

FROM ...


怎么样 代码是不是简洁多了。
原文地址:http://dotnettipoftheday.org/tips/sql-coalesce.aspx