All thing of the world!

Postgresql jsonb_path_exists 설명 : 포스트그레스큐엘 함수 본문

IT/Postgresql DBMS

Postgresql jsonb_path_exists 설명 : 포스트그레스큐엘 함수

WorldSeeker 2021. 4. 30. 10:09

1. 함수의 목적

   

    Postgresql jsonb_path_exists 함수는 json에 관련된 함수로서, jsonb로 입력된 인수에서 path인수로 지정된 부분이 존재하면 'true'를 반환하고, 존재하지 않는다면 'false'를 반환한다.

 

2. 샘플을 통한 개념 퀵뷰

 

    SELECT jsonb_path_exists('{"a":[1,2,3,4,5]}', '$.a[*] ? (@ >= $min && @ <= $max)', '{"min":2, "max":4}');

 

    jsonb_path_exists

    ------------

    true

 

 

3. 사용방법

 

    jsonb_path_exists ( target jsonb, path jsonpath [, vars jsonb [, silent boolean ]] ) 

 

    

4. 함수 PARAMETER 설명

 

[target jsonb]

체크할 source jsonb를 입력한다.

 

[path text[]]

path를 jsonpath로 입력한다.

 

[vars jsonb] - 선택적 인수

vars 인수가 지정되면 JSON 개체여야하며 해당 필드는 jsonpath를 대체할 값을 입력한다.

 

[silent boolean] - 선택적 인수, default는 true

true로 설정하면 @? 와 @@ 연산자와 동일하게 error를 억제한다.

 

5. 다양한 샘플 표현

 

1) jsonb_path_match를 사용하여 존재여부를 체크

 

SELECT jsonb_path_match('{"a":[1,2,3,4,5]}', 'exists($.a[*] ? (@ >= $min && @ <= $max))', '{"min":2, "max":4}');

 

 

 Posgresql 내장함수 모음 : atotw.tistory.com/category/IT/Postgresql%20DBMS

 

Comments