当前位置: 首页 > 知识库问答 >
问题:

如何将postgresql列的文本完全转换为jsonb

夏景胜
2023-03-14

我所拥有的是Postgresql中的一个文本列,我想将其转换为JSONB列。

    null
 SELECT sec->>'sections'->>'a' FROM test

是否有一种方法可以将文本完全转换为jsonb,以便能够成功地从test中查询select sec->>'sections'->>'a';

我不想在下面的查询中将文本转换为json,因为稍后我需要在'a'上创建索引。

select (sec->>'sections')::json->>'a' from test;

共有1个答案

薛楷
2023-03-14

运算符->>作为结果给出一个文本。如果需要JSONB,请使用->:

select 
    pg_typeof(sec->>'sections') a,
    pg_typeof(sec->'sections') b
from test;

  a   |   b   
------+-------
 text | jsonb
(1 row) 

使用:

select sec->'sections'->>'a' 
from test;
 类似资料:
  • 我是数据分析新手。我正在尝试一些模型在Python SkLearning。我有一个数据集,其中一些列有文本列。像下面, 数据集 是否有办法将这些列值转换为pandas或Sklearn中的数字?。将数字分配给这些值是正确的?。如果测试数据中出现新字符串呢?。 请给我一些建议。

  • 问题内容: 可以说我在PostgreSQL中有一个带有以下各列的表: 我插入了这两行: 我想将上面的行转换为此(在PostgreSQL中进行选择): 调用PHP 并得到这样的东西: 但是现在,如果我用php调用,我会得到: 希望有人能帮助我解决这个问题,谢谢大家 问题答案: 在9.4中很简单(使用了LATERAL join和jsonb函数): 确切结果:

  • 问题内容: 我在尝试将文本文件转换为以逗号分隔的列表列表时遇到麻烦。基本上,我想要: 看起来像: 这是我到目前为止的代码: 但是,这使我得到以下结果: 我只希望能够删除该第一部分,然后将其替换为第二部分。我怎样才能做到这一点? 问题答案: 也许:

  • 我正在尝试转换

  • 问题内容: 我有一个SQLite3数据库。我做了一个数据转储,看起来像这样: 我试图在PostgreSQL PgAdmin III中执行此操作,这给了我很多错误,从,到日期时间字段的’unsigned’字段设置为1而不是true和0而不是false。 是否有转换此脚本的正确方法? 我曾考虑过将每个表导出为CSV,然后将它们导入PGDB,但是我有太多的表,所以这不是一个选择。 问题答案: 我使用了一

  • 问题内容: 我正在尝试以下查询: (+1.0仅用于强制转换浮动。我的实际查询要复杂得多,此查询只是问题的测试用例。) 我得到了错误: 如果我添加显式强制转换: 错误变为: 我知道大多数jsonb值不能转换为浮点数,但是在这种情况下,我知道纬度都是JSON编号。 是否有一个将jsonb值强制转换为浮点数(或为不可广播的返回NULL)的函数? 问题答案: 要从中获得价值,有两种操作。第一个将返回。第二