在 PostgreSQL 中,尝试使用 JSONB 数据执行数学运算通常会导致错误,例如“运算符不存在”,当转换为float 未明确指定。
要解决此问题,请考虑不同的 JSON 值检索运算符:
由于浮点数存储为JSONB 中的文本,需要使用 ->> (双箭头)运算符在尝试将浮点数转换为浮点数之前提取浮点数的字符串表示形式。
例如,考虑以下查询:
SELECT (json_data->'position'->'lat')::float + 1.0 AS lat FROM updates LIMIT 5
这里, -> (箭头)运算符最初用于提取 JSON 对象“位置”。 ->>然后使用(双箭头)运算符检索“lat”的字符串值。最后,使用 ::float 转换运算符将字符串转换为浮点数。
通过利用适当的 JSON 值检索运算符,您可以在 PostgreSQL 查询中成功将 JSONB 值转换为浮点数。
以上是如何将 PostgreSQL JSONB 数据转换为浮点型以进行数学运算?的详细内容。更多信息请关注PHP中文网其他相关文章!