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,则需要弄清楚如何将列大写。这可能需要使用原始查询。
假设我的数据库中有以下条目:
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,则需要弄清楚如何将列大写。这可能需要使用原始查询。