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

PostgreSQL の jsonb を算術演算用に Float に正しく変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-30 17:51:11
オリジナル
446 人が閲覧しました

How Can I Correctly Convert PostgreSQL's jsonb to Float for Arithmetic Operations?

PostgreSQL の jsonb 型を Float に変換する

この記事では、PostgreSQL の jsonb 型を float に変換するという課題について説明します。 jsonb データに対して算術演算を実行しようとすると問題が発生し、デフォルトでエラーが返されます。

初期クエリとエラー

初期クエリが表示されます:

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

この演算子は jsonb 型と数値型に適用できないため、このクエリはエラーをトリガーします。以下に示すように、明示的なキャストを追加すると、別のエラーが発生します。

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

エラー メッセージは、演算子が jsonb と倍精度の間で使用できないことを示します。

JSON Operators

この問題は、->演算子は JSON オブジェクトを返しますが、->->テキストを出力します。 jsonb 値を float に正しくキャストするには、 ->->

解決策

この問題の解決策は、-> を置き換えることです。 ->-> を含む演算子:

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

この変更されたクエリは、jsonb 値を float に正しくキャストし、エラーなしで加算演算を実行するようになりました。

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

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