PostgreSQL의 jsonb를 Float로 변환 문제 해결
PostgreSQL의 jsonb 유형 및 float와 관련된 산술 연산을 수행하려고 하면 사용자에게 오류가 발생할 수 있습니다. 비호환성을 입력합니다. 특히 다음 쿼리:
SELECT (json_data->'position'->'lat') + 1.0 AS lat FROM updates LIMIT 5;
는 "연산자가 존재하지 않습니다: jsonb 숫자"라는 오류를 반환합니다. ::float 구문을 사용한 명시적 캐스팅에서도 "연산자가 존재하지 않습니다: jsonb 배정밀도" 오류가 발생합니다.
이 문제를 해결하려면 사용자는 PostgreSQL의 JSON 연산자 구문을 활용하여 필요한 값을 다음과 같이 추출할 수 있습니다. JSON 대신 텍스트. ->> 텍스트를 반환하는 연산자는 다음과 같이 사용할 수 있습니다.
SELECT (json_data->'position'->>'lat')::float + 1.0 AS lat FROM updates LIMIT 5
->> 연산자를 사용하여 위도 값을 텍스트로 추출하면 사용자는 이를 부동 소수점으로 변환하고 오류 없이 원하는 산술 연산을 수행할 수 있습니다. 이 기술을 사용하면 PostgreSQL에서 jsonb 데이터 유형을 효율적으로 처리할 수 있습니다.
위 내용은 PostgreSQL의 jsonb 및 Float 유형을 사용하여 산술 연산을 올바르게 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!