【发布时间】:2014-02-11 15:48:17
【问题描述】:
我正在使用Postgres 9.3.2 创建联系人 数据库。
示例:如果我的表格中有一行看起来像这样。
{
firstName : "First name"
lastName : "Last name"
emails : ["email@one.com", "email@two.com", "email@three.com]
}
PS:firstName、lastName 和 emails 是我的数据库中的列,关联的值是该特定行的该列的值。
我希望能够查询数据库,这样如果我查询电子邮件“email@four.com”,结果什么都没有,但如果我查询“email@two.com”,结果将是上面的行进入。
我不认为查询
"Select * from contactTable where emails="email@two.com""
会起作用。相反,我想做类似
"Select * from contactTable where emails contains "email@two.com""
关于如何做到这一点的任何想法?
【问题讨论】:
-
您能否标准化您的数据库,使电子邮件和电话号码成为单独的字段?简单得多...
-
@n8wrl 我认为这是正确的方法,但很多时候我们不能这样做,因为很多原因(非技术原因)。 =)
-
@AndréFigueiredo:明白。这只是让我们回忆起过去我们将 XML 存储为 blob 的项目的糟糕回忆。无法搜索。标准化就是答案。