我有一个Customer
表。此表由字段 FirstName
、LastName
和 CompanyName
组成。业务逻辑是,如果 CompanyName
有任何值,则查询应返回 CompanyName
,否则,如果 CompanyName
是 NULL
或空,它应该返回 FirstName
和 LastName
的组合。
我现在只有...
select ID, (FirstName + ' ' + LastName) as EntityName from Customer
或
select ID, (CompanyName) as EntityName from Customer
如何根据 CompanyName
的值是否存在,编写这样的 select
查询以返回 EntityName
中的一个或另一个?
最佳答案
您将使用 COALESCE()
:
select ID, COALESCE(CompanyName, FirstName + ' ' + LastName) as EntityName
from Customer;
这假定 NULL
值表示缺少 CompanyName
。否则,您将使用具有适当逻辑的 CASE
。
关于sql - 如何有条件地返回一个字段或另一个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38944403/