라이브러리
[MYSQL] JSON_EXTRACT(json_doc, path) - JSON 데이터에서 특정 값 추출
JSON_EXTRACT 함수
MySQL 5.7 버전부터 JSON_EXTRACT 함수가 제공됩니다. 이 함수는 JSON 문서에서 특정 경로에 있는 값을 추출하는 데 사용됩니다.
JSON_EXTRACT 함수의 구조
`JSON_EXTRACT(json_doc, path)`
- `json_doc`: 추출할 JSON 문서입니다.
- `path`: 추출할 JSON 문서의 경로입니다.
JSON_EXTRACT 함수의 예제
1. 간단한 JSON 문서에서 키 값을 추출하는 예제입니다.
#hostingforum.kr
sql
CREATE TABLE json_data (
id INT,
data JSON
);
INSERT INTO json_data (id, data)
VALUES
(1, '{"name": "John", "age": 30}'),
(2, '{"name": "Jane", "age": 25}');
SELECT
id,
JSON_EXTRACT(data, '$.name') AS name,
JSON_EXTRACT(data, '$.age') AS age
FROM
json_data;
결과:
| id | name | age |
| --- | --- | --- |
| 1 | John | 30 |
| 2 | Jane | 25 |
2. JSON 문서에서 배열 값을 추출하는 예제입니다.
#hostingforum.kr
sql
CREATE TABLE json_data (
id INT,
data JSON
);
INSERT INTO json_data (id, data)
VALUES
(1, '["apple", "banana", "orange"]'),
(2, '["grape", "mango", "pineapple"]');
SELECT
id,
JSON_EXTRACT(data, '$[0]') AS value
FROM
json_data;
결과:
| id | value |
| --- | --- |
| 1 | apple |
| 2 | grape |
3. JSON 문서에서 중첩된 키 값을 추출하는 예제입니다.
#hostingforum.kr
sql
CREATE TABLE json_data (
id INT,
data JSON
);
INSERT INTO json_data (id, data)
VALUES
(1, '{"address": {"street": "123 Main St", "city": "Anytown"}}'),
(2, '{"address": {"street": "456 Elm St", "city": "Othertown"}}');
SELECT
id,
JSON_EXTRACT(data, '$.address.street') AS street,
JSON_EXTRACT(data, '$.address.city') AS city
FROM
json_data;
결과:
| id | street | city |
| --- | --- | --- |
| 1 | 123 Main St | Anytown |
| 2 | 456 Elm St | Othertown |
JSON_EXTRACT 함수는 JSON 문서에서 특정 경로에 있는 값을 추출하는 데 사용할 수 있습니다. 이 함수는 JSON 문서의 구조를 파악하고, 특정 키 값을 추출하는 데 도움이 됩니다.
댓글목록
등록된 댓글이 없습니다.