sql语句区分大小写吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句区分大小写吗相关的知识,希望对你有一定的参考价值。
SQL大小写并不敏感,但是如果是引起来的字符,则是区分大小写的,
示例如下,
1、创建测试表,create table test_uporlow(id number, value varchar2(20));
2、插入样例数据,
insert into test_uporlow values (301,'Abcd');
insert into test_uporlow values (302,'cdef');
insert into test_uporlow values (303,'fgh');
insert into test_uporlow values (304,'acdfg');
commit;
3、查询所有含大写字母A记录,select t.*, rowid from TEST_UPORLOW t where value like 'A%',可以发现只能取出大写的A,表名TEST_UPORLOW大写或者小写都是可以的,
4、查询所有含小写字母a记录,select t.*, rowid from TEST_UPORLOW t where value like 'a%',可以发现只能取出大写的a,
参考技术A SQL语句本身不区分大小写。但是如果数据库是安装在Linux或者UNIX操作系统中,由于操作系统本身区分大小写,通常数据库配置文件中有相关参数选项,来决定是否区分大小写。 参考技术B 最好写大写,因为在处理的时候,系统还是会将小写转大写 参考技术C 不分大小写的
Oracle 访问数据库字段和表名有大小写区分吗?
Oracle访问数据库字段和表名不区分大小写。
如:以下两条语句
select name from test;select NAME from TEST;查询的结果是一样的。
另外说明:一般在查询数据库表中字段的内容时,是区分大小写的。
如果表中数据如下:
用下边语句可以查出结果:
select * from emp where ename=\'SMITH\';select * from emp where ename=\'SMITH\';但是如果用下边的语句则查询不出结果:
select * from emp where ename=\'smith\'; 参考技术A 是有区分的早先一直是在库中建在库中用,结果这次用pd9生成时忘了把一个属性关闭了,居然每次都要在数据库的表前指名“表空间"."表名"的形式而且必须加引号,必须记录大小写,否则就告诉我说没有视图,郁闷至死 于是查了相关网页,答案是有区分的,但是要在建表的时候强制区分,既所说的建表时用双引号。否则oracle默认的没有区分,建表你用小写,没关系,oracle自动转成大写,再调用时用大小写都可以。如果建表时强制大小写的话,那就要用到UPPER,LOWER函数来转化。至于表中所存的数据,还是有区分的,存入大写就是大写,存入小写就是小写,查询时要注意的。记住了下次一定处理,可怜呀,要在几百个表里一个个的把字段上的“去掉引号”,还要用alter table name1 rename to name2 !的方式去掉数据库表名称上的引号(对于这个name2的名称不用加名字空间了的:))本回答被提问者采纳以上是关于sql语句区分大小写吗的主要内容,如果未能解决你的问题,请参考以下文章