PostgreSQL 中不区分大小写的字符串比较
在 PostgreSQL 中,执行不区分大小写的字符串比较对于许多场景来说至关重要。虽然 like 和 ilike 运算符可用于单个值,但它们不能扩展到集合。
为了解决此限制,PostgreSQL 提供了以下用于不区分大小写的字符串比较的选项:
1.使用 ilike 运算符:
ilike 运算符与 like 类似,但它执行不区分大小写的比较。它可以按如下方式使用:
select * where email ilike '[email protected]'
2.转义特殊字符:
在字符串中使用带有特殊字符的 ilike 运算符时,必须正确转义它们。您可以使用 Replace() 函数来实现此目的:
where email ilike replace(replace(replace(, '~', '~~'), '%', '~%'), '_', '~_') escape '~'
或者,您可以创建自定义函数来转义文本。
3.与数组比较:
如果需要与字符串数组进行比较,可以使用任意运算符:
where email ilike any(array['[email protected]', '[email protected]'])
通过利用这些技术,您可以有效地执行 case - PostgreSQL 中单个值和值集的不敏感字符串比较。
以上是如何在 PostgreSQL 中执行不区分大小写的字符串比较?的详细内容。更多信息请关注PHP中文网其他相关文章!