ホームページ > データベース > mysql チュートリアル > PostgreSQL の jsonb および Float 型を使用して算術演算を正しく実行するにはどうすればよいですか?

PostgreSQL の jsonb および Float 型を使用して算術演算を正しく実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-31 07:21:10
オリジナル
531 人が閲覧しました

How to Correctly Perform Arithmetic Operations with PostgreSQL's jsonb and Float Types?

PostgreSQL の jsonb から Float への変換の問題に対処する

PostgreSQL の jsonb 型と float を含む算術演算を実行しようとすると、次のようなエラーが発生する可能性があります。タイプの互換性がないため。特に、次のクエリ:

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

は、「演算子が存在しません: jsonb numeric」というエラーを返します。 ::float 構文を使用した明示的なキャストでも、「演算子が存在しません: jsonb 倍精度」というエラーが発生します。

この問題を解決するには、ユーザーは PostgreSQL の JSON 演算子構文を利用して、必要な値を次のように抽出できます。 JSON の代わりにテキストを使用します。 ->>テキストを返す演算子は、次のように使用できます。

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

->> を使用することで、演算子を使用して緯度値をテキストとして抽出すると、ユーザーはそれを float にキャストして、エラーなしで目的の算術演算を実行できます。この手法により、PostgreSQL で jsonb データ型を効率的に処理できるようになります。

以上がPostgreSQL の jsonb および Float 型を使用して算術演算を正しく実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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