PostgreSQL 9.4에서 JSONB를 부동 소수점으로 변환
PostgreSQL 사용자가 다음 쿼리를 사용하여 jsonb 열을 부동 소수점 열로 변환하려고 시도했습니다.
SELECT (json_data->'position'->'lat') + 1.0 AS lat FROM updates LIMIT 5;
그러나 그들은 오류:
ERROR: operator does not exist: jsonb + numeric
이 문제를 해결하기 위해 사용자가 ::float 연산자를 사용하여 명시적 캐스팅을 시도하여 오류가 발생했습니다.
ERROR: operator does not exist: jsonb + double precesion
jsonb 값을 부동 소수점으로 변환하려면 다음과 같습니다. 올바른 연산자 우선 순위를 따르는 것이 중요합니다. -> 연산자는 JSON 값을 반환하고 ->> 연산자는 텍스트 값을 반환합니다. 플로팅으로 성공적으로 캐스팅하려면 ->> 연산자입니다.
올바른 쿼리 구문은 다음과 같습니다.
SELECT (json_data->'position'->>'lat')::float + 1.0 AS lat FROM updates LIMIT 5;
->> 연산자를 사용하면 jsonb 값이 먼저 텍스트로 변환된 다음 ::float 연산자를 사용하여 부동 소수점으로 변환될 수 있습니다.
위 내용은 PostgreSQL에서 JSONB를 Float로 올바르게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!