如何将PostgreSQL 9.4的jsonb类型转换为float

如何将PostgreSQL 9.4的jsonb类型转换为float,第1张

概述我正在尝试以下查询: SELECT (json_data->'position'->'lat') + 1.0 AS lat FROM updates LIMIT 5; (1.0就是强制转换为浮点数.我的实际查询要复杂得多,这个查询只是问题的一个测试用例.) 我收到错误: ERROR: operator does not exist: jsonb + numeric 如果我添加显式转换: SELE 我正在尝试以下查询:
SELECT (Json_data->'position'->'lat') + 1.0 AS lat FROM updates liMIT 5;

(1.0就是强制转换为浮点数.我的实际查询要复杂得多,这个查询只是问题的一个测试用例.)

我收到错误:

ERROR:  operator does not exist: Jsonb + numeric

如果我添加显式转换:

SELECT (Json_data->'position'->'lat')::float + 1.0 AS lat FROM updates liMIT 5;

错误变成:

ERROR:  operator does not exist: Jsonb + double precesion

我知道大多数Jsonb值都不能转换成浮点数,但在这种情况下我知道lats都是JsON数.

是否有一个函数将Jsonb值转换为浮点数(或为uncastable返回NulL)?

有两种 *** 作可以从JsON获取值.第一个 – >将返回JsON.第二个 – >>将返回文字.

细节:JSON Functions and Operators

尝试

SELECT (Json_data->'position'->>'lat')::float + 1.0 AS latFROM updatesliMIT 5
总结

以上是内存溢出为你收集整理的如何将PostgreSQL 9.4的jsonb类型转换为float全部内容,希望文章能够帮你解决如何将PostgreSQL 9.4的jsonb类型转换为float所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1170570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存