[백업][가리사니] pg Sql json 자료형 접근 / 선택 연산자
json, postgresql
이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.
참고 : http://www.postgresql.org/docs/9.5/static/functions-json.html
JSON 자료형으로 형변환 (pg-sql에서는 캐스팅에 < ‘대상’::자료형 > 을 사용합니다.)
SELECT '[{"a":1,"b":0}]'::json
0번 배열 선택 (pg-sql에서 json의 인덱스는 1이 아닌 0부터 시작하는 제로베이스입니다.)
SELECT ('[{"a":1,"b":0}]'::json) -> 0
0번 배열의 a 선택 (같은 -> 연산자 이지만 문자형 일경우 필드입니다.)
SELECT ('[{"a":1,"b":0}]'::json) -> 0 -> 'a'
-» 연산자 (-> 는 필드를 선택하는 겁니다. 최종 결과값은 -» 로 가져 오셔야 합니다.) -> 와 -» 의 차이를 알아봅시다.
SELECT ('[{"a":"안녕"}]'::json) -> 0 -> 'a'
-- 결과
-- "안녕" : 자료형 json
SELECT ('[{"a":"안녕"}]'::json) -> 0 ->> 'a'
-- 결과
-- 안녕 : 자료형 text