Front/JS & jQuery

[DB][MySQL] JSON_OVERLAPS()

오선지♬ 2025. 10. 28. 09:03
728x90
반응형

✅ JSON_OVERLAPS() — JSON 배열끼리 겹치는 값이 있는지 비교

📌 용도

JSON 배열끼리 공통되는 요소가 있으면 TRUE
겹치는 값이 하나도 없으면 FALSE.

예)

  • 제품 태그 id = [1,3]
  • 검색 조건 태그 id = [3,5]

→ 3이 겹치므로 매칭됨.

📌 예제 테이블

product(product_id, tags)
-- tags → {"items":[{"id":"1"},{"id":"3"}]}

📌 JSON_OVERLAPS 사용 예

SELECT *
FROM product p
WHERE JSON_OVERLAPS(
        JSON_EXTRACT(p.tags, '$.items[*].id'),
        JSON_ARRAY('3', '5')
      );

👉 동작 원리

  • JSON_EXTRACT(p.tags, '$.items[*].id') → ["1", "3"]
  • JSON_ARRAY('3','5') → ["3","5"]

겹침 → TRUE → 해당 row 반환

📌 한줄 요약

👉 JSON 배열과 조건 배열이 하나라도 겹치면 참

728x90
반응형

'Front > JS & jQuery' 카테고리의 다른 글

[jQuery] $.getScript  (0) 2025.11.05
[js] window.hasOwnProperty  (0) 2025.11.04
[js] FullCalendar.js 클릭 이벤트 설정 위치  (0) 2025.10.17
[js] Date 객체끼리 뺄셈(-)  (0) 2025.10.04
[js] getTime()  (0) 2025.10.03