postgresql數據庫中有一個josnb類型的數據:{ "paraInfo":[ { "lot":"A211225VJA1", "power":"70.00", "speed":"230.00", "nutName":"nut1", "waveform":"0#", "frequency":"700.00", "weldingTime":"20230605085401" }, { "lot":"A211225VJA1", "power":"70.00", "speed":"230.00", "nutName":"nut2", "waveform":"0#", "frequency":"700.00", "weldingTime":"20230605085401" } ] },如何使用SQL語句將他轉化為這樣的json數據:{ "nut1>lot":"A211225VJA1", "nut1>power":"70.00", "nut1>speed":"230.00", "nut1>waveform":"0#", "nut1>frequency":"700.00", "nut1>weldingTime":"20230605085401", "nut2>lot":"A211225VJA1", "nut2>power":"70.00", "nut2>speed":"230.00", "nut2>nutName":"nut2", "nut2>waveform":"0#", "nut2>frequency":"700.00", "nut2>weldingTime":"20230605085401" }

时间: 2023-07-08 13:51:39 浏览: 45
你可以使用PostgreSQL的jsonb_build_object函数和jsonb_agg函数来实现这个要求。 下面是一个示例查询语句,假设你有一个名为"test"的表,其中包含一个名为"data"的jsonb列: ```sql SELECT jsonb_agg( jsonb_build_object( nutName || '>' || key, value ) ) FROM test, jsonb_array_elements(data->'paraInfo') info, jsonb_each(info) WHERE key != 'nutName'; ``` 在这个查询中,我们首先使用jsonb_array_elements函数将jsonb数组"paraInfo"拆分为对象,并使用jsonb_each函数将每个对象拆分为键值对。然后,使用nutName和key拼接出新的键,并使用value作为新的键值对的值。最后,使用jsonb_agg函数将所有新的键值对合并为一个新的jsonb数组。 这个查询将返回一个新的jsonb数组,其中包含所有新的键值对。
相关问题

cause: org.postgresql.util.psqlexception: 错误: 无法确定参数 $1 的数据类型

这个错误是由于在执行PostgreSQL数据库查询操作时,无法确定参数$1的数据类型所引起的。 在PostgreSQL中,当执行带有参数的查询语句时,需要明确指定参数的数据类型。然而,由于某种原因,数据库无法确定参数$1的数据类型,因此触发了这个错误。这种情况通常是由于以下几种原因之一引起的: 1. 参数未正确设置数据类型:在编写查询语句时,如果使用了参数,必须明确为参数设置数据类型。如果未正确设置数据类型,数据库就无法确定参数的数据类型。 2. 参数类型与数据库字段类型不匹配:当参数的数据类型与数据库字段的数据类型不匹配时,也会导致数据库无法确定参数的数据类型。例如,如果参数应该是整数类型,但在查询语句中设置为字符串类型,即会触发此错误。 解决此问题的方法包括: 1. 显示指定参数的数据类型:在查询语句中,明确为参数设置数据类型。例如,如果参数是整数类型,可以使用`::int`来明确指定参数的数据类型。 2. 检查参数与数据库字段的匹配:确保查询语句中的参数数据类型与数据库字段的数据类型相匹配。如果不匹配,可以对参数进行适当的转换,以使其与数据库字段类型一致。 总结起来,当在执行PostgreSQL数据库查询操作时,遇到 "错误: 无法确定参数$1的数据类型" 的错误时,应该检查查询语句中参数的数据类型设置是否正确,并确保参数与数据库字段的数据类型匹配。如果需要,可以显示指定参数的数据类型以解决此问题。

pg_ctl: 目录 "/path/to/postgresql/data"不是一个数据库集群目录

这个错误通常是因为你指定的目录不是一个有效的 PostgreSQL 数据库集群目录。请确保你指定的目录是一个已经初始化的 PostgreSQL 数据库集群目录,而不是一个空目录或者其他类型的目录。 你可以通过以下命令来初始化一个 PostgreSQL 数据库集群目录: ``` initdb -D /path/to/postgresql/data ``` 该命令将在指定的目录中创建必要的文件和目录结构,以便 PostgreSQL 数据库可以运行。如果该目录已经被初始化,那么该命令将会失败。 请注意,在运行 pg_ctl 命令时,你需要使用正确的数据目录路径。如果你不确定数据目录的路径,请检查 PostgreSQL 的配置文件(通常是 postgresql.conf 文件)以查看数据目录的位置。

相关推荐

最新推荐

recommend-type

PostgreSQL教程(二):模式Schema详解

和数据库不同,模式不是严格分离的:一个用户可以访问他所连接的数据库中的任意模式中的对象,只要他有权限。  我们需要模式有以下几个主要原因:  1). 允许多个用户使用一个数据库而不会干扰其它用户。  2). 把...
recommend-type

PostgreSQL教程(十五):系统表详解

主要介绍了PostgreSQL教程(十五):系统表详解,本文讲解了pg_class、pg_attribute、pg_attrdef、pg_authid、pg_auth_members、pg_constraint、pg_tablespace、pg_namespace、pg_database等表的作用和字段介绍,需要的...
recommend-type

介绍PostgreSQL中的jsonb数据类型

主要介绍了介绍PostgreSQL中的jsonb数据类型,jsonb是PostgreSQL9.4中开始内置的类型,能够支持GIN索引,需要的朋友可以参考下
recommend-type

Python 操作 PostgreSQL 数据库示例【连接、增删改查等】

主要介绍了Python 操作 PostgreSQL 数据库的方法,结合实例形式分析了Python 连接PostgreSQL及增删改查等相关操作技巧,需要的朋友可以参考下
recommend-type

C#访问PostGreSQL数据库的方法

次的项目中的一个环节要求我把PostGreSQL数据取出来,然后放到SqlServer里,再去处理分析。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

优化MATLAB分段函数绘制:提升效率,绘制更快速

![优化MATLAB分段函数绘制:提升效率,绘制更快速](https://ucc.alicdn.com/pic/developer-ecology/666d2a4198c6409c9694db36397539c1.png?x-oss-process=image/resize,s_500,m_lfit) # 1. MATLAB分段函数绘制概述** 分段函数绘制是一种常用的技术,用于可视化不同区间内具有不同数学表达式的函数。在MATLAB中,分段函数可以通过使用if-else语句或switch-case语句来实现。 **绘制过程** MATLAB分段函数绘制的过程通常包括以下步骤: 1.
recommend-type

SDN如何实现简易防火墙

SDN可以通过控制器来实现简易防火墙。具体步骤如下: 1. 定义防火墙规则:在控制器上定义防火墙规则,例如禁止某些IP地址或端口访问,或者只允许来自特定IP地址或端口的流量通过。 2. 获取流量信息:SDN交换机会将流量信息发送给控制器。控制器可以根据防火墙规则对流量进行过滤。 3. 过滤流量:控制器根据防火墙规则对流量进行过滤,满足规则的流量可以通过,不满足规则的流量则被阻止。 4. 配置交换机:控制器根据防火墙规则配置交换机,只允许通过满足规则的流量,不满足规则的流量则被阻止。 需要注意的是,这种简易防火墙并不能完全保护网络安全,只能起到一定的防护作用,对于更严格的安全要求,需要
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。