MySQL의 NULL 값 왜곡 CONCAT 함수
NULL 값이 포함된 테이블에서 CONCAT 쿼리를 실행하면 예상치 못한 결과가 발생할 수 있습니다. 제공된 예에서 특정 필드의 NULL 값으로 인해 전체 CONCAT 결과가 NULL이 됩니다.
이 문제를 해결하려면 COALESCE 함수를 사용하여 NULL 값을 적절하게 처리할 수 있습니다. COALESCE는 평가되는 필드와 필드가 NULL인 경우 대체할 값이라는 두 가지 인수를 허용합니다. 잠재적으로 NULL이 될 수 있는 각 필드를 COALESCE로 래핑하여 NULL 값을 빈 문자열('')로 바꿀 수 있습니다.
COALESCE가 적용된 수정된 쿼리:
SELECT CONCAT(COALESCE(`affiliate_name`,''),'-',COALESCE(`model`,''),'-',COALESCE(`ip`,''),'-',COALESCE(`os_type`,''),'-',COALESCE(`os_version`,'')) AS device_name FROM devices
이 쿼리는 이제 다음을 반환합니다. NULL 값을 무시하고 NULL이 아닌 값을 단일 문자열로 연결하여 원하는 결과:
cs1-Dell-10.125.103.25-Linux-Fedora cs2-Dell-10.125.103.26-Linux-Fedora cs3-Dell-10.125.103.27- cs4-Dell-10.125.103.28-
위 내용은 NULL 값으로 인해 MySQL CONCAT 결과가 손상되는 것을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!