SQL WHERE 列值变成大写字母

SQL WHERE column values into capital letters

假设我的数据库中有以下条目:

Id Name
12 John Doe
13 Mary anne
13 little joe
14 John doe

在我的程序中我有一个总是大写的字符串变量,例如:

myCapString = "JOHN DOE"

有没有办法通过在名称列上使用大写值的 WHERE 然后匹配 myCapString 来检索 table 中的行?

在这种情况下,查询将 return 两个条目,一个 id=12,一个 id=14

解决方案是 NOT 更改 table 中的实际值。

Postgres 中的一般解决方案是将 Name 列大写,然后与全部大写的字符串文字进行比较,例如

SELECT *
FROM yourTable
WHERE UPPER(Name) = 'JOHN DOE';

如果您需要实现 Knex,则需要弄清楚如何将列大写。这可能需要使用原始查询。