【发布时间】:2022-07-19 16:14:58
【问题描述】:
我有一个 SQL 表,其中包含我想与较长字符串匹配的字符串前缀。假设包含前缀的列名为prefix。
我现在想对所有以较长字符串为前缀的行进行简单搜索。我的第一个想法是使用类似这样的查询:
SELECT prefix FROM Prefixes WHERE 'long string' LIKE prefix%
问题的关键是我如何正确地使用 WHERE 子句。如何告诉 SQL 使用列 prefix 中的值作为我的参数 'long string' 的前缀?
我是否也可以告诉 SQL 不仅使用列“前缀”作为 'long string' 的前缀,而是检查 'long string' 是否在其自身的任何位置包含 prefix?
类似这样的:
SELECT prefix FROM Prefixes WHERE 'long string' LIKE %prefix%
如果供应商特定的东西在这里发挥作用,我使用 JDBC 运行查询,我的数据库是 H2 或 PostgreSQL。
【问题讨论】:
标签: sql postgresql jdbc h2 sql-like