我正在编写一个需要同时在mysql和postgresql上运行的应用程序。我必须使用like比较一些值。
like
在mysql中LIKE,不区分大小写。在postgresql中,LIKE它区分大小写,ILIKE不区分大小写。
LIKE
ILIKE
在匹配必须不区分大小写的情况下,使实体查询对两者都起作用的最佳方法是什么?
PDO对此有解决方案吗?
确保不区分大小写的LIKE的最简单方法是使用以下类似方法之一:
LOWER(column_name) LIKE LOWER(pattern) UPPER(column_name) LIKE UPPER(pattern)
或者,您可以使用大写/小写pattern外部SQL并仅使用:
pattern
LOWER(column_name) LIKE down_cased_pattern UPPER(column_name) LIKE up_cased_pattern
我倾向于LOWER出于习惯,因为小写字母更易于阅读,因此更容易调试。
LOWER