반응형
MySQL에서 JSON 필드 속성의 값을 선택합니다.
JSON 데이터 유형 필드 내의 속성에 WHERE가 있는 기본 MySQL 쿼리를 작성하려면 어떻게 해야 합니까?SO의 json 필드에 대한 기본 where 절 q를 찾을 수 없습니다.
이와 비슷한데, 물론 이러한 기능은 작동하지 않습니다.
SELECT * from my_table where meta_data->name = 'bob';
SELECT * from my_table where meta_data[name] IS NOT NULL;
json 데이터 유형 필드를 쿼리하는 몇 가지 예:
SELECT * FROM users WHERE JSON_EXTRACT(meta_data, "$.first_name") = 'bob';
SELECT * FROM users WHERE JSON_EXTRACT(meta_data, "$.age") IS NOT NULL;
SELECT * FROM users WHERE JSON_EXTRACT(meta_data, "$.accepted_policy") = true;
mysql 5.7.9 + 사용 시
다음과 같이 할 수도 있습니다(JSON_EXTRACT의 단축키).
SELECT * FROM users WHERE meta_data->"$.first_name" = 'bob'
json 데이터 결과가 "따옴표"로 표시되는 경우가 있습니다.JSON_UNQUOTE를 사용할 수도 있고 JSON_EXTract & JSON_UNQUOTE 단축키인 다음 명령을 사용할 수도 있습니다.
SELECT meta_data->>"$.first_name" FROM users WHERE meta_data->>"$.first_name" IS NOT NULL
또한 하위 개체 내에서 데이터를 선택하려면:
SELECT meta_data->>"$.address.tel" FROM users WHERE meta_data->>"$.address.street" = "123 Main St"
문서: https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html
mysql의 JSON 데이터 유형 필드를 사용한 WHERE 작업에 대해 아래 쿼리 사용
SELECT meta_data->'$.first_name' meta_data FROM users WHERE INSTR(meta_data->'$.first_name','123') > 0
언급URL : https://stackoverflow.com/questions/49053341/mysql-select-where-json-field-property-has-value
반응형
'programing' 카테고리의 다른 글
실행 시 SPRING Boot HOST 및 PORT 주소를 취득하려면 어떻게 해야 합니까? (0) | 2023.03.22 |
---|---|
BeanFactory와 어플리케이션 컨텍스트 (0) | 2023.03.22 |
Spring과 통합된 임베디드 Tomcat을 localhost 외에 IP 주소에 대한 요청을 수신하도록 설정하려면 어떻게 해야 합니까? (0) | 2023.03.22 |
cat_id와 term_id의 차이점은 무엇입니까? (0) | 2023.03.22 |
Wordpress API: 게시물에 태그 추가/제거 (0) | 2023.03.22 |