데이터베이스(Database)/mysql

mysql에서 json 형식의 데이터 파싱하기

leebaro 2022. 9. 22.
728x90

json 타입으로 된 문자열 데이터에서 특정 키에 대한 값을 추출하고 싶은 경우가 있습니다. 이 때 문제가 될 수 있는 것은 제대로된 json 타입이 아닐 경우 쿼리를 실행할 경우 오류가 발생할 수 있습니다.

 

json 타입을 체크하고 문제가 없을 경우 원하는 키에 값을 리턴 받는 방법은 아래와 같습니다.

 

JSON 문자열

{
"이름" : "홍길동",
"나이" : "20"
}

 

위와 같은 문자열이 정보라는 테이블의 txt라는 컬럼에 있다고 하겠습니다.

아래와 같이 json_extract 함수와 json_valid 함수를 사용하면 됩니다.

select
	json_extract(txt, '$[0].이름')
from
	정보
where
	json_valid(txt) = 1

json_extract 함수를 사용하면 json 형식에서 key 값에 대한 value 값을 확인할 수 있습니다. json_valid 함수를 사용하면 txt 컬럼의 값이 json 타입이 맞는지 확인할 수 있습니다.

 

 

 

728x90

'데이터베이스(Database) > mysql' 카테고리의 다른 글

mysql에서 날짜 처리하기  (0) 2022.12.22