본문 바로가기
Back-End/Database, SQL

[MySQL] JSON 타입과 추출

by developerDoorold 2023. 2. 9.

imp_week 컬럼은 상점의 요일별 예약 가능 여부를 JSON 타입으로 저장하고 있다.

저장된 데이터의 모습

JSON 타입으로 저장된 데이터는 MySQL에서 json_extract()로 추출할 수 있다.

JSON_EXTRACT(컬럼명, '$[배열번호].Key명')의 형태로 사용한다.

 

SELECT *
FROM shop s
    INNER JOIN shop_reservation sr on s.uuid = sr.shop_uuid AND
               json_extract(imp_week, CONCAT('$[', WEEKDAY(NOW()), ']')) = 0 AND
               auth_student = 1
    INNER JOIN shop_type st on st.uuid = sr.shop_type_uuid;

댓글