2
PostgreSQL 9.4를 사용하면 비교 연산자를 사용하여 JSON 데이터 유형에서 숫자 값을 찾을 수 있습니까? 예 : JSON 열의 age 속성이 18보다 우수한 모든 레코드를 제공합니까?PostgreSQL JSON 유형 및 쿼리
CREATE TABLE data
(
id serial NOT NULL,
attributes jsonb
);
INSERT INTO data (id, attributes) VALUES (1, '{"name": "Value A", "value": 20}');
INSERT INTO data (id, attributes) VALUES (2, '{"name": "Value B", "value": 10}');
나는 "값"모든 기록을 얻기 위해이 테이블을 쿼리하는 방법을 알고 싶습니다
는 특성이 우수 본 경우
18은, ID 1 기록은 단지 결과 일 것이다.
SELECT * from data WHERE attributes->>'value' = '10';
어떻게 숫자를 다루는 :
평등하고있다 (그러나 문자열 비교입니다)?
SELECT * from data WHERE attributes->>'value' > 18;
==> ERROR: operator does not exist: text > integer
SELECT * from data WHERE attributes->>'value'::integer > 18;
==> ERROR: invalid input syntax for integer: "value"
감사합니다.
감사합니다 @ daniel- vérité !! –