首页 > 数据库 > mysql教程 > 如何将 PostgreSQL JSONB 转换为浮点数以进行算术运算?

如何将 PostgreSQL JSONB 转换为浮点数以进行算术运算?

Linda Hamilton
发布: 2025-01-02 21:18:38
原创
258 人浏览过

How to Cast PostgreSQL JSONB to Float for Arithmetic Operations?

将 PostgreSQL 的 JSONB 转换为 Float

尝试对包含数值的 PostgreSQL JSONB 类型列执行算术运算时,可能会遇到错误,因为键入不匹配的内容。本文演示了如何克服此问题并成功将 JSONB 值转换为浮点数。

所提供查询中错误的根本原因是尝试将数值 (1.0) 添加到 JSONB 值,这会导致出现“运算符不存在”错误。为了解决这个问题,您可以在执行操作之前使用强制转换将 JSONB 值转换为浮点型。

但是,仅将 JSONB 值强制转换为浮点型可能还不够,因为 PostgreSQL 提供了两种访问 JSON 值的选项:

  • json_data->'position':返回一个 JSON 值,不能直接转换为float.
  • json_data->>'position':返回一个文本值,可以使用 ::float 将其转换为浮点数。

在您的具体情况下,因为你知道纬度值都是 JSON 数字,你可以使用以下查询将它们转换为浮点数:

SELECT (json_data->>'position'->>'lat')::float + 1.0 AS lat
FROM updates
LIMIT 5;
登录后复制

这个修改后的查询应该成功将 JSONB lat 值转换为浮点数,使您能够执行所需的操作。

以上是如何将 PostgreSQL JSONB 转换为浮点数以进行算术运算?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板