비슷한 데이터를 가진 두 테이블 간의 통합을 수행하는 쿼리를 작성해야합니다. 결과는 구별되어야합니다. 내가 가진 문제는 같은 값을 가져야하는 필드가 빈 값일 때가 아니라는 것입니다. 일부는 null로 표시되고 일부는 빈 문자열 값을가집니다. 내 질문은 다음 쿼리를 수행하는 더 좋은 방법은 무엇입니까? (적절한 기본값이 설정되도록 실제 데이터를 수정하지 않고) 등등을 사용합니다.NULL 및 빈 문자열 값을 처리 할 때 유니온 쿼리를 작성하는 가장 좋은 방법
Select
When Column1 = '' Then NULL Else Column1 as [Column1],
When Column2 = '' Then NULL Else Column2 as [Column2]
From TableA
UNION ALL
Select
When Column1 = '' Then NULL Else Column1 as [Column1],
When Column2 = '' Then NULL Else Column2 as [Column2]
From TableB
NULLIF에 대한 메모를 보내 주셔서 감사합니다. ''또는 NULL을 반환하는 것이 더 낫습니다. – dretzlaff17
데이터를 선택하면 데이터로 무엇을하고 있는지에 따라 달라집니다. 다시 말하지만 성능 차이가 없으면 하나를 반환합니다. –
성능은 문제가 아니기 때문에 ''이 레코드에 대해 발견되면 NULL을 반환해야합니다. IFNULL 또는 NULLIF에 대한 역 논리를 알지 못하기 때문에 그대로 유지하려고합니다. 의견을 보내 주신 모든 분들께 감사드립니다. – dretzlaff17