programing

테이블에서 JSON 값 추출

minecode 2022. 11. 30. 21:21
반응형

테이블에서 JSON 값 추출

다음 컬럼이 포함된 장르라는 MariaDB 테이블이 있습니다(장르는 JSON 컬럼입니다).

+----+------------------------------------+
| id | genres                             |
+----+------------------------------------+
| 1  | ["Action", "Martial Arts", "Love"] |
+----+------------------------------------+

질문할 경우:

SELECT JSON_EXTRACT( (SELECT genres.genres FROM genres), '$[2]' );

이해:

"Love"

맞는 말이야.그러나 JSON_EXTRACT() 바로 가기 화살표 연산자를 사용하려고 하면 ->:

SELECT genres.genres->"$[2]" FROM genres;

이해:

에러 코드: 1064.SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 대응하는 매뉴얼에서 1행의 '>"$[1]" FROM 장르" 근처에서 사용할 올바른 구문을 확인하십시오.

왜 화살표 오퍼레이터를 사용할 수 없는 거죠?구문 또는 데이터에 문제가 있습니까?왜 JSON_EXTRACT()를 사용하여 장시간 작업을 해야만 작동합니까?

column -> path column -> path 연산자는 10.4에서도 MariaDB-10.2, 10.3에서는 지원되지 않습니다.

고객님의 경우 이 버전이 더 짧을 수 있습니다.

SELECT JSON_EXTRACT( genres , '$[2]' ) FROM genres

언급URL : https://stackoverflow.com/questions/60810184/extract-json-value-from-table

반응형