sql - 在 SQL Server 中使用 Like 运算符 'Ename like '[AZ]%' 和 'Ename like '[az]%' 意思相同吗?
问题描述
对于“第一个字符应该是列中的大写字母”的问题,我有点困惑。
我尝试对问题“第一个字符应该是'+'或数字”使用 LIKE 函数作为select * from emp where mobile like '+%' or mobile like '[0-9]%';
解决方案
正如我在评论中提到的,这一切都取决于您使用的排序规则。如果您使用的是不区分大小写的排序规则,那么 作为比较目的LIKE '[A-Z]'
的LIKE '[a-z]'
同义词,字母的大小写无关紧要。但是,对于区分大小写或二进制排序规则,情况并非如此,这两个表达式将导致不同的结果。
因此,对于 3 个示例排序规则,您可以看到一个返回1
,而另外两个返回0
:
SELECT CASE 'A' COLLATE Latin1_General_CI_AI WHEN 'a' COLLATE Latin1_General_CI_AI THEN 1 ELSE 0 END AS CaseInsensitiveCollation,
CASE 'A' COLLATE Latin1_General_CS_AI WHEN 'a' COLLATE Latin1_General_CS_AI THEN 1 ELSE 0 END AS CaseSensitiveCollation,
CASE 'A' COLLATE Latin1_General_BIN WHEN 'a' COLLATE Latin1_General_BIN THEN 1 ELSE 0 END AS BinaryCollation;
推荐阅读
- javascript - 当 OrbitControls.js 工作正常时,图像 FlyControls.js three.js 不出现
- android - 长期凭证不可用 - 尝试保存到 Firebase 时应用程序崩溃
- azure - 使用“az eventgrid system-topic event-subscription”更新高级过滤器时,我应该提供什么端点?
- java - 从 JMH 的分析中排除 @Setup 方法
- c++ - 为什么 fstream 在这里不起作用(在文件中读/写)?
- python - 如何将 Kivy GridLayout 制作成滚动视图?
- macos - mariadb-secure-installation (Ver15.1) ERROR 1698 (28000): Access denied for user 'root'@'localhost'
- powerbi - 使用 RLS 为客户嵌入 PowerBi
- function - MATLAB 错误 - 'double' 类型的输入参数的未定义函数
- vulkan - oculus 2 上似乎不支持 multiviewGeometryShader 功能,有什么替代方案?