原来我想查询我的 PostgreSQL 数据库以获取特定名称。问题是我不知道那个名字是大写还是小写,所以我必须尝试所有的组合:
SELECT * FROM personas WHERE nombre = 'Juan'
SELECT * FROM personas WHERE nombre = 'juan'
SELECT * FROM personas WHERE nombre = 'JUAN'
如您所见,这有点乏味,并且像 MySQL 这样的东西对我不起作用:
SELECT * FROM personas WHERE nombre LIKE '%Juan%'
有没有办法执行查询并获取结果,无论它们是大写还是小写?
查看PostgreSQL: How to make “case-insensitive” query我看到有几个选项:
使用
ILIKE
:用于将
LOWER()
全部转换为小写(可选与大写相同):这与
使用 POSIX 正则表达式
~*
: