IT 인터넷/AWS

[RDS/Aurora MySQL] JSON 컬럼 검색하기 :: WHERE 절 이용

Banjubu 2020. 8. 27. 10:52
반응형

 

아래에서 report_desc의 타입이 JSON 이에요.

 

JSON 데이터 중 a가 1인걸 뽑으려면 아래와 같이 하면 돼요.

위 데이터는 모두가 되겠죠.

SELECT * FROM `reports` WHERE JSON_EXTRACT(report_desc, '$.a') = 1

 

결과가 나왔네요.

 

p.s. 검색하지 않을 JSON 데이터라면 그냥 VARCHAR를 쓰는게 나아요.

 

응용 코드

[
  {"tm": "10:00", "txt": "AAA"}, 
  {"tm": "12:00", "txt": "BBB"}, 
  {"tm": "15:00", "txt": "CCC"}
]
SELECT JSON_EXTRACT(data, '$[1].tm') FROM `report_apps` WHERE pk=1

SELECT JSON_LENGTH(JSON_EXTRACT(data, '$')) FROM `report_apps` WHERE pk=1

 

영어, 중국어 공부중이신가요?

홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요!

 

한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어

한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!!

smartstore.naver.com

 

반응형
LIST