在 Postgres 的任何表中搜索字符串? [复制]

Posted

技术标签:

【中文标题】在 Postgres 的任何表中搜索字符串? [复制]【英文标题】:Search String in any table in Postgress? [duplicate] 【发布时间】:2019-06-02 19:33:38 【问题描述】:

在 Postgresql 中,我有 3 个不同的表 ABCA 有一个 Problem 列,B 有一个 MedicalSolution 列,C 有一个 Diagnosis 列。

我有一个字符串,我想检查这 3 个表是否包含该字符串。我该怎么做?

【问题讨论】:

不清楚你在问什么。请添加示例数据。 请提供架构、示例数据和预期输出。没有投票给我。 考虑来自 Varchar(50) 类型的不同 3 个表的 3 列。我想从包含该名称 Belly 的表中搜索名称(例如 Belly)。但是列的名称是不同的 table1 column Name1 , table2 column Name2 ,Table3 column Name3 。 【参考方案1】:

如果我猜对了,你需要这样的东西:

select exists( select 1 from Table1 where Name1 like '%Belly%' )
union all 
select exists( select 1 from Table2 where Name2 like '%Belly%' )
union all 
select exists( select 1 from Table3 where Name3 like '%Belly%' )

如果你需要数据,那么

select 'Table1' as table_name  /*needed columns here*/ from Table1 where Name1 like '%Belly%' 
union all 
select 'Table2' as table_name  /*needed columns here*/ from Table2 where Name2 like '%Belly%' 

记住,使用union all时,列数和数据类型应该匹配

【讨论】:

它帮助我解决问题,但它返回一个布尔值,我想从特定表中选择一个日期 @MaheshMaske - 检查编辑的答案

以上是关于在 Postgres 的任何表中搜索字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL在没有时区的时间戳类型的表中搜索

如何使用 postgres/nodejs 在表中查找特定内容

postgres和h2 db中名称中的#字符问题

如何在 JSON Postgres 数据类型列中搜索特定字符串?

在 postgres 表中存储指数

自动将 csv 转储到新的 Postgres 表中[重复]