>데이터 베이스 >MySQL 튜토리얼 >MySQL의 JSON_TABLE 함수는 어떻게 JSON 배열을 행으로 변환할 수 있습니까?

MySQL의 JSON_TABLE 함수는 어떻게 JSON 배열을 행으로 변환할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-29 05:37:17825검색

How Can MySQL's JSON_TABLE Function Convert JSON Arrays into Rows?

MySQL에서 JSON 배열을 행으로 변환

MySQL 5.7 및 이전 버전에서는 JSON을 조작하는 것이 어려울 수 있으며, 특히 JSON 배열을 행. 그러나 MySQL 8에서는 새로운 JSON_TABLE 함수가 간단한 솔루션을 제공합니다.

JSON_TABLE 함수

JSON_TABLE 함수를 사용하면 JSON 문서에서 데이터를 쉽게 추출하고 지도를 작성할 수 있습니다. 관계형 테이블 스키마에 적용합니다. JSON 배열을 행으로 변환하려면 다음 구문을 사용하세요.

SELECT *
FROM JSON_TABLE(
  <json_array>,
  "$[*]"
  COLUMNS(
    <column_name> <data_type> PATH "$"
  )
) <table_alias>;

JSON 배열을 고려하세요.

[5, 6, 7]

당신 JSON_TABLE을 사용하여 테이블로 변환할 수 있습니다.

SELECT *
FROM JSON_TABLE(
  '[5, 6, 7]',
  "$[*]"
  COLUMNS(
    Value INT PATH "$"
  )
) data;

출력은 be:

| Value |
|---|---|
| 5 |
| 6 |
| 7 |

일반 문자열 분할

MySQL에는 기본 문자열 분할 기능이 없습니다. 그러나 JSON_TABLE을 사용하면 비슷한 결과를 얻을 수 있습니다.

set @delimited = 'a,b,c';

SELECT *
FROM JSON_TABLE(
  CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'),
  "$[*]"
  COLUMNS(
    Value varchar(50) PATH "$"
  )
) data;

이렇게 하면 구분된 문자열이 JSON 배열로 분할된 다음 테이블로 변환됩니다.

위 내용은 MySQL의 JSON_TABLE 함수는 어떻게 JSON 배열을 행으로 변환할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.