rkg*_*rkg 21 sql sql-server case-sensitive
我刚刚意识到'='用于文本比较的SQL服务器比较器不区分大小写.关于此功能,我有几个问题:
lower函数来确保文本比较直到现在都不敏感.遵循同样的方法仍然是一个好主意吗?'='运算符默认为不区分大小写的比较?OMG*_*ies 25
不,区分大小写与等号无关.
区分大小写由数据库的排序规则确定 - 有关详细信息,请参阅文档.
pco*_*fre 12
区分大小写仅取决于排序规则.您可以在每个'='操作中指定排序规则
SELECT *
FROM [Table_1] a inner join
[Table_2] b on a.Col1=b.Col2 collate Modern_Spanish_CS_AI
Run Code Online (Sandbox Code Playgroud)
我一直在使用lower函数来确保文本比较直到现在都不敏感.遵循同样的方法仍然是一个好主意吗?
绝对不.如果这样做,通常会排除使用索引.普通旧=(或<或>或其他)将起作用或取决于您选择的整理.不要这样做"只是为了安全".测试将确保您做对了.