用Coalesce函数代替"when ...else"

在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 ...
posted @ 2008-04-10 20:56  zhengguoqing  阅读(377)  评论(0)    收藏  举报