何为字符串比较大小写敏感?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
关于字符串比较大小写敏感主要涉及到两个方面的内容: (1) 对字段的值比较而言 假如表Test中有如下两条记录 c1 c2 1 a
2 A
同样的查询语句:select * from Test where c2 = 'a'; 在大小写不敏感的库中会查出如下的两条记录 c1 c2 1 a
2 A 而在大小写敏感的库中则只会查出如下的一条记录 C1 C2 1 a
(2) 对于表名、字段名而言 在设置为大小写敏感的库中进行查询的时候,可能经常会遇到无效的表名或列名的问题, 下面针对这种情况进行说明。 (i) 如果使用DM管理工具图形界面建表的话建议表名和字段名都使用大写。因为使用图形界面建表相当于 使用语句建表的时候加了双引号的,会固定住大小写。如果写成小写,那么就是小写了,在查询的时候 也需要加双引号,否则就有可能报无效的表名或列名的问题,比较麻烦; (ii) 如果使用脚本建表的话,如果表名和字段名没有加双引号的话都会被系统自动转换成大写。 如:create table test(a int);系统会自动把表名test,字段名a转换成大写,处理方式与Oracle数据库一致。 所以针对大小写敏感的库,在使用建表脚本或者通过查询脚本进行查询的时候建议统一不要写双引号, 让系统统一自动都转化为大写; (iii) 以上两点主要针对大小写敏感的库而言,大小写不敏感的库则不存在上述问题。 总结:基于以上两点,在初始化数据库的过程中就可以对字符串比较大小写敏感这个参数做出合理的选择了。