node.js - Postgresql - 内部列标题显示为“?column?”
问题描述
我创建了一个表:
CREATE TABLE mail(id UUID UNIQUE PRIMARY KEY DEFAULT gen_random_uuid(), mailbox VARCHAR(32), mail jsonb);
这是将数据插入表中的方式:
INSERT INTO mail(mailbox, mail) VALUES ('sent','{"to":{"name":"Shandra Rheam","email":"srheam0@myspace.com"},"from":{"name":"CSE183 Student","email":"cse183student@ucsc.edu"},"received":"2020-11-17T23:17:19Z","sent":"2020-11-14T17:09:17Z"}');
如果我尝试:
SELECT id, mail->\'to\' FROM mail
我明白了:
{
"id": "d0c7e73e-20ab-4c0e-b4fd-f687ec082eb6",
"?column?": {
"name": "Shandra Rheam",
"email": "srheam0@myspace.com"
}
}
为什么该列显示为?列?而不是“到”?
解决方案
您的列不是列,而是表达式。如果要为该表达式命名,则需要使用列别名
select id, mail -> 'to' as "to"
from mail;
推荐阅读
- c# - 无法通过 EWS 托管 API 从电子邮件中下载 FileAttachment
- python - Python:如何创建一个在本地保存并在运行之间持续存在的变量
- ruby-on-rails - 我正在进行新的迁移以在 ROR 中的两个实体之间创建关联。我在迁移中使用了错误的实体,需要将其删除
- aws-api-gateway - 第 7 层负载均衡器 vs API 网关 vs 负载均衡器 + 路由服务
- database - 为什么重启 influxdb 后读取访问需要时间?
- javascript - 创建等高按钮
- .net-core - 是否可以将 IAgent 接口注入到 .net 核心 DI 容器
- android - File_Picker 插件不返回 Flutter 中写入文件的绝对路径
- fluent-bit - Fluent-bit 不递归收集日志
- javascript - 如何在shopify plus中添加重定向页面?