在Where子句中使用Upper和Lower Function有什么区别?

时间:2018-10-03 09:13:06

标签: postgresql

例如,我了解您输入的内容

SELECT * from customers
WHERE UPPER(product) like 'BANK ACCOUNT';

所有记录都以银行帐户(大写和小写)返回,但键入时返回相同的结果集:

SELECT * from customers
WHERE lower(product) like 'bank account';

谢谢您的帮助!

1 个答案:

答案 0 :(得分:1)

从逻辑上讲,两个查询都在做相同的事情,即使product均为大写/小写,然后与全部为大写/小写的文字进行比较。请注意,Postgres具有不区分大小写的正则表达式,您可以在此处使用它:

SELECT *
FROM customers
WHERE product ~* 'bank account';

或者,我们可以使用ILIKE

SELECT *
FROM customers
WHERE product ILIKE '%bank account%';