数据库大小写敏感问题
来源:互联网 发布:软件下载模板 编辑:程序博客网 时间:2024/05/21 09:54
Oracle:
默认是大小写不敏感,表名、字段名等不区分大小写,小写字母会自动转换为大写字母; 需要用小写字母时需要使用双引号,或借助函數upper()和lower();
PostgreSQL:
默认是大小写不敏感,表名、字段名等不区分大小写,大写字母会自动转换为小写字母; 需要用大写字母时需要使用双引号,或借助函數upper()和lower();
SQLServer:
默认是大小写不敏感; 可以通过修改排序规则改变: 右击数据库--->属性----->选项---->排序规则: Chinese_PRC_CS_AS 区分大小写、 Chinese_PRC_CI_AS 不区分大小写。
MySQL:
在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写
所以在不同操作系统中为了能使程序和数据库都能正常运行,最好的办法是在设计的时候都转为小写,但是如果在设计的时候已经规范化大小写了,那么在Windows环境下只要对数据库的配置做下改动就行了,具体操作如下: 在MySQL的配置文件中my.ini [mysqld] 中增加一行 lower_case_table_names = 1 参数解释: 0:区分大小写 1:不区分大小写。
在MySQL 中,数据库和表就对于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。
要避免这个问题,你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。
SQLite:
大小写敏感,具体:
1.创建表、列的时候,SQL语句里是什么大小写,表名、列名就是什么大小写;
2.SQL语句执行的时候:表名、列名大小写不敏感,都能识别;
3.SQL语句里面,“=”还是 LIKE 都是大小写敏感;
那么SQLite怎么区分大小写查询呢,以下是三种解决方案:
方案一:使用大小写转换函数LOWER、UPPER
1.select from test where lower(name) = 'abcde';
2.select from test where lower(name) = lower('ABCDE');
(1).select * from test where upper(name) = upper('Abcde');
.........
备注:lower() 、upper()为sqlite里面函数
方案二:在进行比较时强制声明不区分大小写
select * from test where name = 'ABCDE' COLLATE NOCASE;
方案三:创建表时声明该字段不区分大小写
create table test (_id Integer,name Text COLLATE NOCASE );
说明:
1.如果在任何情况下都不需要对大小写敏感,方案三是最好的解决方案;
2.如果只是少量查询对大小写不敏感,可以用方案二。
3.而方案一由于用到了函数,可能有额外的性能消耗,不推荐使用。
SELECT * FROM User WHERE account = 'asdf'; select * from User where account = 'asdf'; Select * From USER WHERe ACCOUNT = 'asdf'; SELECT * FROM User WHERE lower(account) = lower('asdf'); SELECT * FROM User WHERE account = 'asdf' COLLATE NOCASE;
- 数据库大小写敏感问题
- 数据库大小写敏感问题
- MySQL数据库大小写敏感问题
- MySQL数据库大小写敏感问题
- 解决mysql数据库大小写敏感问题
- MySql数据库查询时大小写敏感问题
- sybase数据库大小写敏感
- 数据库大小写敏感
- php大小写敏感问题
- mysql大小写敏感问题
- mysql 大小写敏感问题
- php大小写敏感问题
- Mysql大小写敏感问题
- oracle数据库大小写敏感配置
- MySQL数据库大小写敏感设置
- MySql大小写敏感问题探索
- oracle11g密码大小写敏感问题
- mysql 数据表大小写敏感问题
- 史上最简单的Recycleview自定义下拉刷新
- es(elasticsearch)游标(查询)的理解
- 封面与目录不要页码,从第三页正文开始要页码的设置方法
- 题目1195:最长&最短文本
- 开发服务端程序,在存在并发请求场景下,需要考虑一些常规事项简单梳理和总结
- 数据库大小写敏感问题
- woowj 首页推荐商品
- luogu P1015 回文数
- 深度学习框架汇总
- 题目1196:成绩排序
- 爬虫 大麦网
- 从零开始学 Java
- 《HTTP权威指南》学习总结1——HTTP协议概述
- 观察者模式