【发布时间】:2019-12-21 15:02:56
【问题描述】:
在我的 rails psql 应用程序中,我有一个电子邮件数组列。此列的第一个索引中的元素是主电子邮件。我希望能够在数据库中搜索所有使用主电子邮件 x 的人。
【问题讨论】:
标签: ruby-on-rails arrays postgresql
在我的 rails psql 应用程序中,我有一个电子邮件数组列。此列的第一个索引中的元素是主电子邮件。我希望能够在数据库中搜索所有使用主电子邮件 x 的人。
【问题讨论】:
标签: ruby-on-rails arrays postgresql
无需测试是否包含数组。只需获取第一个元素并将其与字符串进行比较:
User.where("emails[1] = ?", "x@test.com")
【讨论】:
我在文档中看不到这一点,但感谢 this answer 我可以看到在 Postgres 9.5 或更早版本中您可以使用
arr[1:1]
只查看第一个元素的语法
这就是答案
User.where("emails[1:1] @> ARRAY[?]", "x@test.com")
【讨论】: