RDB

mariaDB json value값만 가져오기

hs-archive 2021. 7. 21. 19:02

https://unsplash.com/@picoftasty

DB에 json 타입으로 값을 저장했을 때

 

원하는 key에 해당되는 value 값만 보고 싶으면 어떻게 해야 될까?

 

같이 알아보자.

 

 

 

 

 


얻어갈 지식

  • JSON 형식으로 저장된 값 value만 뽑아 보기

 

 

 

 

 

"키워드"

 

 

mariaDB 사용 시 json의 key값을 보고 싶을 때는

 

json_value()를 사용하면 된다.

 

예를 들어, user 테이블의 mobile이란 컬럼에 아래와 같은 형식으로 값이 저장될 때

 

// Mobile

{
   name: "남해성",
   head: "010",
   body1: "1234",
   body2: "5678"
}

 

 

name에 해당되는 "남해성"만 보고 싶다면 아래와 같이 하면 된다.

 

SELECT
   json_value(mobile, '$.name') as name
FROM
   user;

 

 

결과는 아래와 같다.

 

결과

 

 

이를 활용하여 "1234-56"을 포함하는 번호를 갖고 있는

 

user의 정보를 보고 싶다면 아래와 같이 하면 된다.

 

SELECT
   *
FROM
   user
WHERE
   CONCAT(
      json_value(mobile, '$.head'), '-', 
      json_value(mobile, '$.body1'), '-', 
      json_value(mobile, '$.body2')
   )
   LIKE
      '%1234-56%'

 

 

 

 

 

 

'RDB' 카테고리의 다른 글

MySQL vs MariaDB  (0) 2024.01.18
postgreSQL - 트랜잭션 격리 수준  (2) 2023.12.05
이미지는 어디에 저장해야 할까  (2) 2022.06.22