首页 > 数据库 > mysql教程 > 如何在 PostgreSQL 中正确将 JSONB 转换为浮点型?

如何在 PostgreSQL 中正确将 JSONB 转换为浮点型?

Susan Sarandon
发布: 2025-01-02 18:37:43
原创
188 人浏览过

How to Correctly Convert JSONB to Float in PostgreSQL?

PostgreSQL 9.4 中的 JSONB 到浮点型转换

PostgreSQL 用户尝试使用以下查询将 jsonb 列转换为浮点型:

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 值转换为浮点数,需要执行以下操作:遵循正确的运算符优先级至关重要。 ->运算符返回 JSON 值,而 ->> 则返回 JSON 值。运算符返回一个文本值。要成功转换为浮动,您需要使用 ->>

正确的查询语法是:

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

通过使用 ->>运算符,jsonb 值首先转换为文本,然后可以使用 ::float 运算符将其转换为浮点数。

以上是如何在 PostgreSQL 中正确将 JSONB 转换为浮点型?的详细内容。更多信息请关注PHP中文网其他相关文章!

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