各种数据库大小写敏感问题总结
(2015-01-28 16:04:42)
标签:
股票 |
分类: 各种数据库 |
hsql: 不区分大小写
mysql: windows下不区分大小写;linux下database名,table名区分大小写,column名不区分;在mysql中加" "或者‘’都不行, 他们代表字符串;linux下默认是大写
oracle: 不区分大小写,全是大写 ORACLE 中 " "的作用是强制区分大小写
ORACLE在建表或者字段时,如果没有双引号,ORACLE会把表名、字段名全部转化为大写字母然后写入数据字典。访问数据字典时,没有双引号ORACLE会将其转化成大写然后再去数据字段中查找。如果加上双引号则能区分大小写。不仅仅关键字不区分大小写,函数名,过程名,表名称,pl/sql块中变量名,用户名,密码等都不区分大小写。
所以在ORACLE中,还是建议全部用大写
postgresql:表名、字段名都是区分大小写的,在SQL语句中对大小写是不敏感的,如果要查询大写字母的字段,同样要加上双引号。表、视图、序列的命令尽量使用小写
SQL Server:默认情况下,不区分大小写。可以通过collate Chinese_PRC_CS_AS来要求区分大小写,可以通过
collate Chinese_PRC_CI_AS恢复默认的不区分大小写
mysql: windows下不区分大小写;linux下database名,table名区分大小写,column名不区分;在mysql中加" "或者‘’都不行, 他们代表字符串;linux下默认是大写
oracle: 不区分大小写,全是大写 ORACLE 中 " "的作用是强制区分大小写
ORACLE在建表或者字段时,如果没有双引号,ORACLE会把表名、字段名全部转化为大写字母然后写入数据字典。访问数据字典时,没有双引号ORACLE会将其转化成大写然后再去数据字段中查找。如果加上双引号则能区分大小写。不仅仅关键字不区分大小写,函数名,过程名,表名称,pl/sql块中变量名,用户名,密码等都不区分大小写。
所以在ORACLE中,还是建议全部用大写
postgresql:表名、字段名都是区分大小写的,在SQL语句中对大小写是不敏感的,如果要查询大写字母的字段,同样要加上双引号。表、视图、序列的命令尽量使用小写
SQL Server:默认情况下,不区分大小写。可以通过collate Chinese_PRC_CS_AS来要求区分大小写,可以通过
collate Chinese_PRC_CI_AS恢复默认的不区分大小写