在 Where 子句中使用时,上部和下部函数有什么区别?



当你输入时,我明白,例如:

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

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

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

提前感谢您的帮助!

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

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

或者,我们可以使用ILIKE

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

最新更新