mpc*_*c83 4 sql postgresql wildcard
我在两个单独的表中有列,我在连接和后续更新中使用它们。我希望能够查看一列是否在第二列中捕获了其所有内容。
例如,以下是每列的内容示例:
city_table1 | city_table2
Portsmouth Portsmouth, New Hampshire, USA
Run Code Online (Sandbox Code Playgroud)
我希望能够在 select 语句中有一个 where 子句,该子句将根据 city_table1 中的内容匹配两列(但我不能只根据内容差异进行左或右修剪),所以我设想就像是
where city_table1 like ('%' + city_table2 '%')
Run Code Online (Sandbox Code Playgroud)
我的逻辑错了吗?我应该引用此 where 子句中的两个字段吗?我在 postgres 中尝试过这个,但当我知道如果我的语法正确的话它应该可以工作时,没有得到任何结果。
谢谢你!
Postgres 用于||连接字符串。所以:
where city_table2 like ('%' || city_table1 || '%')
Run Code Online (Sandbox Code Playgroud)
另外,你还可以进行向后比较。较短的字符串被 包围'%'。
而且,使用正则表达式会更简单:
where city_table2 ~ city_table1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |