체인의정석

Object 형태의 값 추출하기 (json_extract) 본문

개발/database

Object 형태의 값 추출하기 (json_extract)

체인의정석 2022. 11. 29. 16:50
728x90
반응형

트랜잭션을 조회 한 후 이벤트를 그대로 데이터 베이스에 넣는 경우 object 형태의 값들이 데이터베이스에 들어가게 된다.

이러한 경우 

json_extract를 select 문 안에 넣어버리게 된다면 조회가 가능하다.

 

event_data = {from:xxxx, to:xxxxx, value:xxxxxx}

SELECT json_extract(event_data, '$.value') as value FROM 테이블명;

이런 식으로 이벤트 데이터가 있다고 했을 때 그대로 넣은 후에 extract를 해준다면 손쉽게 백엔드에 트랜잭션 이벤트에 대한 정보값을 가져와서 계산해 줄 수 있다.

 

자세한 예제는 아래에서 확인할 수 있었다.

 

https://docs.aws.amazon.com/ko_kr/athena/latest/ug/extracting-data-from-JSON.html

 

JSON에서 데이터 추출 - Amazon Athena

JSONPath가 단순한 트리 순회를 수행합니다. 그리고 $ 기호를 사용해 JSON 문서의 루트를 나타내고, 그 뒤에는 마침표와 루트 바로 아래에 중첩되는 요소가 이어집니다(예: $.name).

docs.aws.amazon.com

 

WITH dataset AS (
  SELECT '{"name": "Bob Smith",
           "org": "engineering",
           "projects": [{"name":"project1", "completed":false},{"name":"project2", "completed":true}]}'
    AS blob
)
SELECT json_array_get(json_extract(blob, '$.projects'), 0) AS item
FROM dataset

이런식으로  json 형태의 데이터가 있다면 $.을 통해서 지정한 값을 가져올 수 있게 된다.

728x90
반응형
Comments