ホームページ > データベース > mysql チュートリアル > PostgreSQL で JSONB を Float に正しく変換するにはどうすればよいですか?

PostgreSQL で JSONB を Float に正しく変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-02 18:37:43
オリジナル
202 人が閲覧しました

How to Correctly Convert JSONB to Float in PostgreSQL?

PostgreSQL 9.4 での JSONB から Float への変換

PostgreSQL ユーザーが、次のクエリを使用して jsonb 列を float に変換しようとしました:

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 値を float に変換するには、正しい演算子の優先順位に従うことが重要です。 ->演算子は JSON 値を返しますが、->> 演算子は JSON 値を返します。演算子はテキスト値を返します。 float に正常にキャストするには、 ->> を使用する必要があります。演算子。

正しいクエリ構文は次のとおりです。

SELECT (json_data->'position'->>'lat')::float + 1.0 AS lat FROM updates LIMIT 5;
ログイン後にコピー

->> を使用します。演算子を使用すると、まず jsonb 値がテキストに変換され、次に ::float 演算子を使用して float にキャストできます。

以上がPostgreSQL で JSONB を Float に正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート