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 |