gpt4 book ai didi

sql - UPPER() 和 LOWER() 不需要?

转载 作者:行者123 更新时间:2023-12-05 01:32:36 25 4
gpt4 key购买 nike

想了一会儿,为了WHERE要正确评估标准,我需要考虑区分大小写。我会用 UPPER()LOWER()当案例无关紧要时。但是,我发现以下查询产生相同的结果。

SELECT * FROM ATable WHERE UPPER(part) = 'SOMEPARTNAME'
SELECT * FROM ATable WHERE part = 'SOMEPARTNAME'
SELECT * FROM ATable WHERE part = 'somepartname'

SQL Case Sensitive String Compare解释使用区分大小写的排序规则。这是强制区分大小写的唯一方法吗?另外,如果你有一个不区分大小写的排序规则,什么时候会 UPPER()LOWER()有必要吗?

感谢帮助。

最佳答案

不区分大小写的排序规则的常见 SQL Server 默认意味着 UPPER()LOWER()比较字符串时不需要。

事实上,一个表达式,如

SELECT * FROM Table WHERE UPPER(part) = 'SOMEPARTNAME' 

由于应用于 part 的函数,它也是不可 sargable 的,即不会使用可用的索引。比较左侧的列。

关于sql - UPPER() 和 LOWER() 不需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9123192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com