如何解决使用通配符和“喜欢”来比较pgSQL中两列的内容
我在联接和后续更新中使用的两个单独的表中有列。我希望能够查看一列是否在第二列中捕获了所有内容。
例如,这是每列内容的样本:
city_table1 | city_table2
Portsmouth Portsmouth,New Hampshire,USA
我希望能够在select语句中具有where子句,该子句将根据city_table1中的内容匹配两列(但我不能仅根据内容差异进行左右修剪),所以我我正在设想类似的东西
where city_table1 like ('%' + city_table2 '%')
我的逻辑在这里吗?我应该在where子句中引用两个字段吗?我曾在postgres中尝试过此方法,但当我知道语法正确时,它没有任何作用。
谢谢!
解决方法
Postgres使用||
连接字符串。所以:
where city_table2 like ('%' || city_table1 || '%')
此外,您还可以进行比较。 shorter 字符串被'%'
包围。
而且,使用正则表达式会更简单:
where city_table2 ~ city_table1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。