首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql:查询Varchar需要Curly Braces吗?

Postgresql:查询Varchar需要Curly Braces吗?
EN

Stack Overflow用户
提问于 2018-08-06 20:13:26
回答 1查看 1.2K关注 0票数 0

编辑:这是pgAdmin4显示的一个问题,我可以将以前声明的character varying []列数据类型更改为character varying (当用户永远不会这样做时),这使我相信我在查询varchar,而实际上我是在查询varchar[]。

为什么查询varchar列需要像这样的花括号?

SELECT * FROM users WHERE email = '{test@test.com}'

移除花括号将提示ERROR: malformed array literal...

我使用(PostgreSQL) 10.4和pgAdmin 4作为接口。电子邮件列的类型是character varying [],pgAdmin4不允许我将其更改为character varying

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-06 20:15:48

原因很简单--这不是一个varchar列。

注意方括号?character varying []

这意味着它是字符串数组。

您可以在这里阅读更多关于数组的信息:https://www.postgresql.org/docs/current/static/arrays.html

通过使用花括号创建一个由一个元素组成的数组:'{test@test.com}'

现在你把苹果和苹果做比较(数组和数组)

pgAdmin不允许您转换列,因为它“不知道”要如何将字符串数组转换为单个字符串。

您可以在这里检查PostgreSQL中的数组中哪些函数可用:https://www.postgresql.org/docs/current/static/functions-array.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51714978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档