postgresql - 在 Where 子句中使用时,Upper Function 和 Lower Function 有什么区别?
问题描述
我理解您何时键入,例如:
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%';
推荐阅读
- python - 从另一个文件调用带有两个前导下划线的方法 - Python
- python - Scikit-Learn:逻辑回归 OvR 访问二进制估计器/分类器
- android - Swift 包管理器的 Android 替代品?
- tcp - Openvpn TCP 在客户端之间通信时面临高网络延迟
- postgresql - 如何在 postgres 中查找视图列是否可以为空
- mysql - 在 AWS MySQL RDS 表插入或更新数据时,是否可以自动调用 Lambda 函数?
- python - 如何循环列表并提取所需数据(美丽的汤)
- python - 在 python 中控制直流电机
- reactjs - Stripe - 检索结帐会话的 line_items
- python - Python API 输出到第一规范化形式