>데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 JSONB를 Float로 올바르게 변환하는 방법은 무엇입니까?

PostgreSQL에서 JSONB를 Float로 올바르게 변환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-02 18:37:43225검색

How to Correctly Convert JSONB to Float in PostgreSQL?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.