CONCAT 함수는 일반적으로 여러 필드를 단일 문자열로 병합하는 데 사용됩니다. 그러나 연결된 필드에 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.