小编典典

如何检查 Sql 服务器字符串是否为空或为空

all

我想检查数据,但如果它为空或为空,请忽略它。目前查询如下…

Select              
Coalesce(listing.OfferText, company.OfferText, '') As Offer_Text,         
from tbl_directorylisting listing  
 Inner Join tbl_companymaster company            
  On listing.company_id= company.company_id

但我想得到company.OfferText iflisting.Offertext是一个空字符串,以及它是否为空。

性能最佳的解决方案是什么?


阅读 86

收藏
2022-05-20

共1个答案

小编典典

我认为这:

SELECT 
  ISNULL(NULLIF(listing.Offer_Text, ''), company.Offer_Text) AS Offer_Text
FROM ...

是最优雅的解决方案。

并用伪代码将其分解一下:

// a) NULLIF:
if (listing.Offer_Text == '')
  temp := null;
else
  temp := listing.Offer_Text; // may now be null or non-null, but not ''
// b) ISNULL:
if (temp is null)
  result := true;
else
  result := false;
2022-05-20