为什么SQL Server'='比较器不区分大小写?
我刚刚意识到SQL Server '='
比较器在用于文本比较时不区分大小写。 我有几个关于这个功能的问题:
lower
函数来确保文本比较直到现在都不敏感。 遵循同样的想法还是个好主意吗? '='
运算符默认不区分大小写比较? 不,区分大小写与等号无关。
区分大小写取决于数据库的归类 - 请参阅文档以获取详细信息。
区分大小写仅取决于整理。 您可以在每个'='
操作中指定排序规则
SELECT *
FROM [Table_1] a inner join
[Table_2] b on a.Col1=b.Col2 collate Modern_Spanish_CS_AI
我一直在使用下面的函数来确保文本比较直到现在都不敏感。 遵循同样的想法还是个好主意吗?
绝对不。 如果你这样做,你通常会阻止使用索引。 Plain old =(或<或>或其他)可以工作或不工作,具体取决于您选择的整理。 不要这样做“只是为了安全”。 测试将确保您的答案正确。
链接地址: http://www.djcxy.com/p/75185.html