>  기사  >  데이터 베이스  >  MySQL에서 CONCAT() 함수를 연결할 때 NULL 문제를 해결하는 방법

MySQL에서 CONCAT() 함수를 연결할 때 NULL 문제를 해결하는 방법

WBOY
WBOY앞으로
2023-06-01 23:29:023717검색

프로젝트의 쿼리는 concat() 스플라이싱 함수를 사용합니다. 이 쿼리에서는 스플라이싱된 필드가 null이고 애플리케이션 계층에서 널 포인터 예외가 보고됩니다.

SELECT CONCAT('1,',NULL,'2') result;

MySQL에서 CONCAT() 함수를 연결할 때 NULL 문제를 해결하는 방법

SELECT CONCAT('1,','','2') result;

MySQL에서 CONCAT() 함수를 연결할 때 NULL 문제를 해결하는 방법

CONCAT() 함수를 스플라이싱할 때 스플라이스된 매개변수에 NULL이 있으면 결과가 NULL이 된다는 것이 실습을 통해 증명되었습니다.

다음 방법을 사용하여 해결하세요.

방법 1: NULL인 경우 IFNULL 함수를 사용하여 빈 문자열로 설정합니다.

SELECT CONCAT('1,',IFNULL(NULL,''),'2') result;

MySQL에서 CONCAT() 함수를 연결할 때 NULL 문제를 해결하는 방법

방법 2: CONCAT_WS 함수를 사용하세요. 구분 기호

SELECT CONCAT_WS(',','1',NULL,'2') result;

로 문자열 연결을 지정합니다.

MySQL에서 CONCAT() 함수를 연결할 때 NULL 문제를 해결하는 방법

CONCAT_WS(구분 기호, 매개변수 1, 매개변수 2,... 매개변수 n) 및 CONCAT(매개변수 1, 매개변수 2, .. )을 구분하기 위해 쉼표 사용을 지정합니다. 매개변수 n)

두 함수의 차이점:

CONCAT_WS(): 구분 기호로 연결, 즉 구분 기호로 문자열 연결을 의미합니다.

CONCAT(): 문자열 연결을 의미합니다.

two 가장 중요한 차이점은 CONCAT() 함수는 접합 매개변수에 NULL이 있으면 직접 NULL을 반환

하고, CONCAT_WS() 함수는 실행 시 NULL 값으로 인해 NULL을 반환하지 않는다는 점을 알려드립니다.

위 내용은 MySQL에서 CONCAT() 함수를 연결할 때 NULL 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제