DB/SQL
[MySQL] JSON 필드 Null 체크하는 방법
bskyvision.com
2023. 9. 27. 20:09
MySQL에서 컬럼을 만들 때 타입을 JSON으로 설정해줄 수 있습니다. JSON 컬럼에는 JSON 형태의 데이터를 담을 수 있습니다.
오늘은 JSON의 특정 필드에 Null 값이 있을 때 체크하는 방법에 대해 살펴보도록 하겠습니다.
JSON 필드 Null 체크하는 방법
일반적인 MySQL의 컬럼이라면 IS NULL, IS NOT NULL으로 Null 값을 체크할 수 있습니다. 다음과 같이 말이죠.
SELECT name, age FROM members WHERE name IS NOT NULL;
하지만 JSON 컬럼의 특정 필드의 값이 Null인지 아닌지 확인을 할 때는 JSON_VALUE라는 함수를 활용해야 합니다. detail이라는 JSON 컬럼이 있다고 가정하겠습니다. 해당 컬럼에는 {"hobby": "soccer", "salary": 4000, "etc": null} 같은 JSON 형태의 값이 담긴다고 해보겠습니다. 이때 etc 필드가 null인 레코드들만 조회하려면 다음과 같이 SQL 쿼리를 작성하면 됩니다.
SELECT name, age, detail FROM members WHERE JSON_VALUE(detail, "$.etc") IS NULL;
참고자료
[1] https://stackoverflow.com/questions/63581165/how-to-null-check-mysql-json-column-property