프로젝트의 쿼리는 concat() 스플라이싱 함수를 사용합니다. 이 쿼리에서는 스플라이싱된 필드가 null이고 애플리케이션 계층에서 널 포인터 예외가 보고됩니다.
SELECT CONCAT('1,',NULL,'2') result;
SELECT CONCAT('1,','','2') result;
CONCAT() 함수를 스플라이싱할 때 스플라이스된 매개변수에 NULL이 있으면 결과가 NULL이 된다는 것이 실습을 통해 증명되었습니다.
방법 1: NULL인 경우 IFNULL 함수를 사용하여 빈 문자열로 설정합니다.
SELECT CONCAT('1,',IFNULL(NULL,''),'2') result;
방법 2: CONCAT_WS 함수를 사용하세요. 구분 기호
SELECT CONCAT_WS(',','1',NULL,'2') result;
로 문자열 연결을 지정합니다.
CONCAT_WS(구분 기호, 매개변수 1, 매개변수 2,... 매개변수 n) 및 CONCAT(매개변수 1, 매개변수 2, .. )을 구분하기 위해 쉼표 사용을 지정합니다. 매개변수 n)
두 함수의 차이점:
CONCAT_WS(): 구분 기호로 연결, 즉 구분 기호로 문자열 연결을 의미합니다.
CONCAT(): 문자열 연결을 의미합니다.
two 가장 중요한 차이점은 CONCAT() 함수는 접합 매개변수에 NULL이 있으면 직접 NULL을 반환
하고, CONCAT_WS() 함수는 실행 시 NULL 값으로 인해 NULL을 반환하지 않는다는 점을 알려드립니다.
위 내용은 MySQL에서 CONCAT() 함수를 연결할 때 NULL 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!