eterno

[MySQL] JSON 데이터 조회하기 본문

DB/MYSQL

[MySQL] JSON 데이터 조회하기

영원한별똥별 2023. 3. 4. 15:14
728x90
반응형

 

이블 데이터를 JSON 데이터로 변환

> JSON_OBJECT('JSON KEY', 데이터)

 

JSON 데이터 생성

더보기

{"AGE": 25, 

"NAME": "홍길동", 

"GENDER": "남자", 

"HOBBYS": [{

                      "HOBBY_1": "음악감상", 

                      "HOBBY_2": "운동", 

                      "HOBBY_3": "게임"   },

                   {  "HOBBY_1": "농구", 

                      "HOBBY_2": "청소", 

                      "HOBBY_3": "여행"   },

                   { "HOBBY_1": "노래",

                      "HOBBY_2": "등산",

                      "HOBBY_3": "기타연주"}],

"NICKNAME": "홍홍"}

 

 

MEMBER 테이블에서 JSON데이터 PROFILE 의 객체 중 KEY값이 GENDER인 VALUE 조회

 > JSON_VALUE(컬럼명, $.KEY값);

MEMBER 테이블에서 JSON 데이터 PROFILE 객체 중 배열 조회

 > JSON_VALUE(컬럼명, '$.배열 KEY값');

 

 

배열 N번째 인덱스 조회

> JSON_VALUE(컬럼명, '$.배열 KEY값[N]')

 

배열 안의 객체 조회

> JSON_VALUE(컬럼명, '$.배열값')

>JSON_EXTRACT(컬럼명, '$.배열값')

JSON_VALUE와 JSON_EXTRACT이 무슨 차이일까 궁금해서 두개다 실행시켜보니

배열에서는 똑같은 것같고 객체를 조회할때 JSON_EXTRACT는 ""에 감싸져 문자열로 반환하는 것 같아요.

 

문자열 "" 제거

 > JSON_UNQUOTE(값)

배열에서는 JSON_UNQUOTE가 적용되지 않습니다.

 

728x90
반응형