DB
[MySQL] JSON 조회 JSON_TABLE
snail voyager
2025. 4. 29. 00:32
728x90
반응형
- MySQL 8.0 이상에서만 사용 가능
- 배열 내 모든 객체를 검사 가능
{
"list": [
{
"couponInfo": {
"couponNo": "12345"
}
},
{
"couponInfo": {
"couponNo": ""
}
}
]
}
SELECT t.*
FROM your_table yt,
JSON_TABLE(
yt.your_column,
'$.list[*]' COLUMNS (
couponNo VARCHAR(255) PATH '$.couponInfo.couponNo'
)
) AS t
WHERE JSON_VALID(yt.your_column) -- 유효한 JSON 데이터만 처리
AND t.couponNo IS NOT NULL
AND t.couponNo <> '';
- JSON_TABLE을 사용하여 list 배열을 펼침
- couponInfo.couponNo 필드를 추출하여 가상 테이블 t 생성
- couponNo IS NOT NULL → 필드가 존재하는 경우만 조회
- couponNo <> '' → 공란("")이 아닌 경우만 조회
728x90
반응형