쿼리를 사용하여 JSON 데이터를 얻는 것이 얼마나 어려운지 설명하기 위해이를 처리하기 위해 만든 쿼리를 공유하겠습니다.
배열이나 다른 객체는 고려하지 않고 기본 데이터 유형 만 고려합니다. 4 개의 column 인스턴스를 JSON을 저장하는 열 이름으로 변경하고 myfield 의 4 개 인스턴스 를 액세스하려는 JSON 필드로 변경 해야합니다.
SELECT
SUBSTRING(
REPLACE(REPLACE(REPLACE(column, '{', ''), '}', ','), '"', ''),
LOCATE(
CONCAT('myfield', ':'),
REPLACE(REPLACE(REPLACE(column, '{', ''), '}', ','), '"', '')
) + CHAR_LENGTH(CONCAT('myfield', ':')),
LOCATE(
',',
SUBSTRING(
REPLACE(REPLACE(REPLACE(column, '{', ''), '}', ','), '"', ''),
LOCATE(
CONCAT('myfield', ':'),
REPLACE(REPLACE(REPLACE(column, '{', ''), '}', ','), '"', '')
) + CHAR_LENGTH(CONCAT('myfield', ':'))
)
) - 1
)
AS myfield
FROM mytable WHERE id = '3435'