MySQL에서 JSON 배열을 행으로 변환
소개
MySQL에서 JSON 배열 작업 JSON 조작 기능에 대한 이해가 필요합니다. 그러나 이러한 배열을 행으로 변환하거나 GROUP_CONCAT()과 같은 작업을 수행할 때 문제가 발생합니다. 이 문서에서는 이러한 시나리오를 다루고 MySQL의 JSON 기능을 사용하는 솔루션을 제공합니다.
JSON 배열에서 행으로
JSON 배열의 각 요소에 대해 행을 삽입하려면 한 가지 접근 방식을 사용하세요. JSON_EXTRACT()를 사용하여 각 요소를 수동으로 추출하고 결과를 통합하는 것입니다. 그러나 더 깔끔한 방법은 MySQL 8의 JSON_TABLE 함수를 활용하는 것입니다.
SET @j = '[1, 2, 3]'; SELECT * FROM JSON_TABLE( @j, "$[*]" COLUMNS( Value INT PATH "$" ) ) data;
이렇게 하면 JSON 배열의 요소가 포함된 "값"이라는 하나의 열이 있는 테이블이 생성됩니다.
JSON 배열의 GROUP_CONCAT()
JSON 배열의 요소를 연결하려면 GROUP_CONCAT()을 사용하여 쉼표로 구분된 문자열을 사용하면 JSON_TABLE 및 GROUP_CONCAT()의 조합을 사용할 수 있습니다.
SELECT GROUP_CONCAT(Value) FROM JSON_TABLE( @j, "$[*]" COLUMNS( Value INT PATH "$" ) ) data;
JSON 분할
STRING_SPLIT( ), 쉼표로 구분된 문자열을 행으로 변환하는 등 JSON_TABLE을 다음과 같이 활용할 수 있습니다. 문자열을 JSON 배열로 변환:
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), "$[*]" COLUMNS( Value varchar(50) PATH "$" ) ) data;
이렇게 하면 구분된 문자열의 요소가 포함된 "값"이라는 하나의 열이 있는 테이블이 생성됩니다.
위 내용은 JSON 배열을 행으로 변환하고 MySQL에서 GROUP_CONCAT()을 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!