CONCAT は複数の項目を 1 つの文字列にマージするためによく使用される関数です。ただし、いずれかの連結項目に Null 値が含まれていると、連結の結果は NULL になります。この動作は、欠落した値や空の値が含まれている可能性のあるデータを使用する場合に特に重要になります。
次の SQL クエリについて考えてみます。
SELECT
CONCAT(ssot__Individual__dlm.ssot__FirstName__c, ' - ', ssot__Individual__dlm.KQ_Id__c) AS FullName_KQId__c,
COUNT(ssot__Individual__dlm.ssot__Id__c) AS RecordCount__c
FROM ssot__Individual__dlm
GROUP BY CONCAT(ssot__Individual__dlm.ssot__FirstName__c, ' - ', ssot__Individual__dlm.KQ_Id__c);
このクエリの場合:
FullName_KQId__c はハイフン (-) を区切り文字に使用して、ssot__FirstName__c と KQ_Id__c を連結して作成されます。
ssot__FirstName__c または KQ_Id__c が NULL の場合、FullName_KQId__c 項目全体が NULL になります。
| ssot__FirstName__c | KQ_Id__c | FullName_KQId__c |
|---|---|---|
| John | 123 | John - 123 |
| Jane | NULL | NULL |
| NULL | 456 | NULL |
連結された結果に Null 値が影響しないようにするには、CASE ステートメントを使用して Null 値を空の文字列に置き換えることを検討します。例は次のとおりです。
SELECT
CONCAT(
CASE WHEN ssot__Individual__dlm.ssot__FirstName__c IS NULL THEN '' ELSE ssot__Individual__dlm.ssot__FirstName__c END,
' - ',
CASE WHEN ssot__Individual__dlm.KQ_Id__c IS NULL THEN '' ELSE ssot__Individual__dlm.KQ_Id__c END
) AS FullName_KQId__c,
COUNT(ssot__Individual__dlm.ssot__Id__c) AS RecordCount__c
FROM ssot__Individual__dlm
GROUP BY
CONCAT(
CASE WHEN ssot__Individual__dlm.ssot__FirstName__c IS NULL THEN '' ELSE ssot__Individual__dlm.ssot__FirstName__c END,
' - ',
CASE WHEN ssot__Individual__dlm.KQ_Id__c IS NULL THEN '' ELSE ssot__Individual__dlm.KQ_Id__c END
);
CONCAT 関数のいずれかの項目が NULL の場合、結果全体が NULL になります。
CASE ステートメントを使用して NULL 値を空の文字列に置き換えて、連結が期待どおりに機能するようにします。
空の値を適切に処理すると、予期しないデータ損失を回避してレポートの精度を高めることができます。
このようなベストプラクティスを取り入れることにより、不完全なデータを処理する際も、計算済みインサイトの信頼性と重要性を確保できます。
004269012

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.