라이브러리
[MYSQL] JSON_CONTAINS(target, candidate[, path]) - JSON 값 포함 여부 확인
JSON_CONTAINS 함수
JSON_CONTAINS 함수는 MySQL 8.0 버전부터 지원하는 함수로, JSON 데이터에 특정 키 또는 값이 포함되어 있는지 확인하는 데 사용됩니다. 이 함수는 JSON 데이터를 대상으로 하며, 특정 키 또는 값이 포함되어 있는지 확인하고, 포함되어 있으면 TRUE를 반환하고, 포함되어 있지 않으면 FALSE를 반환합니다.
# 함수 구조
JSON_CONTAINS 함수의 구조는 다음과 같습니다.
#hostingforum.kr
sql
JSON_CONTAINS(target, candidate[, path])
- `target`: JSON 데이터를 대상으로 하는 컬럼 또는 변수입니다.
- `candidate`: JSON 데이터로 비교할 후보입니다.
- `path`: 옵션으로, JSON 데이터의 경로를 지정할 수 있습니다. 경로를 지정하지 않으면, 전체 JSON 데이터가 대상이 됩니다.
# 예제
1. JSON 데이터가 포함되어 있는지 확인
#hostingforum.kr
sql
CREATE TABLE json_data (
id INT AUTO_INCREMENT,
data JSON
);
INSERT INTO json_data (data) VALUES ('{"name": "John", "age": 30}');
SELECT JSON_CONTAINS(data, '{"name": "John"}') AS result FROM json_data;
이 예제에서는 `json_data` 테이블에 JSON 데이터가 포함되어 있는지 확인합니다. 결과는 TRUE가 반환됩니다.
2. JSON 데이터의 특정 경로가 포함되어 있는지 확인
#hostingforum.kr
sql
CREATE TABLE json_data (
id INT AUTO_INCREMENT,
data JSON
);
INSERT INTO json_data (data) VALUES ('{"name": "John", "address": {"street": "123 Main St"}}');
SELECT JSON_CONTAINS(data, '{"street": "123 Main St"}', '$.address') AS result FROM json_data;
이 예제에서는 `json_data` 테이블의 JSON 데이터의 특정 경로가 포함되어 있는지 확인합니다. 경로를 지정한 경우, `$` 기호를 사용하여 JSON 데이터의 경로를 지정합니다. 결과는 TRUE가 반환됩니다.
3. JSON 데이터가 포함되어 있지 않은 경우
#hostingforum.kr
sql
CREATE TABLE json_data (
id INT AUTO_INCREMENT,
data JSON
);
INSERT INTO json_data (data) VALUES ('{"name": "John", "age": 30}');
SELECT JSON_CONTAINS(data, '{"age": 40}') AS result FROM json_data;
이 예제에서는 `json_data` 테이블의 JSON 데이터가 포함되어 있지 않은 경우를 확인합니다. 결과는 FALSE가 반환됩니다.
결론
JSON_CONTAINS 함수는 MySQL 8.0 버전부터 지원하는 함수로, JSON 데이터에 특정 키 또는 값이 포함되어 있는지 확인하는 데 사용됩니다. 이 함수는 JSON 데이터를 대상으로 하며, 특정 키 또는 값이 포함되어 있는지 확인하고, 포함되어 있으면 TRUE를 반환하고, 포함되어 있지 않으면 FALSE를 반환합니다.
댓글목록
등록된 댓글이 없습니다.