【问题标题】:How to replace NULL in SQL OUTER APPLY如何在 SQL OUTER APPLY 中替换 NULL
【发布时间】:2013-12-05 21:00:29
【问题描述】:

在这个sqlfiddle 中,如果 CompanyName 为空,我正在尝试将其替换为其他名称,但显然我不能。我尝试了案例陈述和其他技术,但没有奏效。如果公司为空,是否可以用“Not Given”替换 CompanyName。

我必须在这里使用 OUTER APPLY。

【问题讨论】:

  • 不知道为什么一定要用outer apply,你的查询可以用一个简单的[left] join来完成。
  • 我的原始查询更复杂,使用子查询,只选择顶部记录。这只是一个复制品。

标签: sql sql-server join replace null


【解决方案1】:

请尝试:

select p.*, isnull(czip.companyname, 'Not Given') companyname
from Person p
outer apply (
    select  companyname 
    from Company c
    where p.companyid = c.companyId
) Czip

【讨论】:

    【解决方案2】:

    试试 isnull

    SELECT IsNull(companyname, 'Comp not present') As companyname
    

    检查这个:SQL ISNULL(), NVL(), IFNULL() and COALESCE() Functions

    【讨论】:

      【解决方案3】:
       SELECT Coalesce(companyname, 'Not Given') As companyname
       ...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-02-11
        • 2023-01-19
        • 2022-12-01
        • 1970-01-01
        • 2016-03-20
        • 1970-01-01
        • 2020-06-28
        相关资源
        最近更新 更多