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
'DB > SQL' 카테고리의 다른 글
[Oracle] 테이블 및 컬럼 코멘트 조회하기 (0) | 2024.03.11 |
---|---|
[Oracle] 테이블 생성 쿼리 확인, show create table 안 됨 (0) | 2024.02.13 |
[Oracle] Oracle에서 LIMIT에 해당하는 SQL 문법은? (0) | 2024.01.05 |
[MySQL] FROM DUAL 이란? (0) | 2023.10.09 |
[MySQL] 같지 않은 것을 조회할 때 사용할 수 있는 !=와 <> 연산자의 차이 (0) | 2023.09.23 |
[MySQL] DATETIME과 TIMESTAMP 자료형의 차이 (0) | 2023.07.04 |
[MySQL] 복합 인덱스 생성시 컬럼 나열 순서 (0) | 2023.06.21 |
[MySQL] root 비밀번호 수정 방법 (MySQL 8.0 버전) (2) | 2023.05.11 |