我想检查数据,但如果它为空或为空,请忽略它。目前查询如下…
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是一个空字符串,以及它是否为空。
company.OfferTex
listing.Offertext
性能最佳的解决方案是什么?
我认为这:
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;