• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

奋斗中...

曾经的程序员。ASP.NET/C#, JavaScript, PL/SQL, T-SQL; 工具: VS2003/2005, Oracle, SQLServer; 偶尔写点CSS, 批处理.
头脑中经常有新想法, 可惜没有去实现.
Never give up.
Never get into a fight with a pig. Both of you will get dirty. But the pig actually enjoys it.
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

[翻译][.NET Tip of The Day]用 COALESCE 函数来替代一长串的 CASE WHEN ... ELSE 语句(T-SQL)

译自:http://dotnettipoftheday.org/tips/sql-coalesce.aspx

用 COALESCE 函数来替代一长串的 CASE WHEN ... ELSE 语句(T-SQL)

(COALESCE function instead of long CASE WHEN ... ELSE (T-SQL))

当你希望找出一个不为NULL的值时, 你可以使用 COALESCE 函数, 而不是使用一长串 "SELECT ... CASE WHEN ... ELSE ..." construction, . 让我们来看看下面这段 T-SQL 语句, 其中我们希望找出一个有效的(available) "source":

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 函数来重写上面这段代码:

SELECT TheSource =

   COALESCE(localSource, intranetSource, internetSource, '')

FROM ...

这条提示适用于MS SQL Server 2000/2005.

1/15/2008

posted on 2010-01-12 23:11  jes  阅读(270)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3