前段时间,维护的一个应用在Oracle测试时出错,该应用原来已经在MySQL上完成测试。通过查找定位,原因是字段名大小写问题。下面与大家分离一下MySQL与Oracle在大小写处理上的区别:
MySQL
1、在Windows下,数据库名、表名、字段名不区分大小写。
2、大Linux/Unix下,数据库名、表名区分大小写,字段名不区分大小写。
3、编辑/etc/my.cnf,设置lower_case_table_names可以让MySQL是否区分表名的大小写。
0:区分大小写;
1:不区分大小写。
Oracle
1、在Oracle中,如果字段名称被双引号("")包裹,Oracle会区分大小写;
2、如果字段名称没有被双引号("")包裹,则全部转换成大写来执行。
3、如果表结构设计时,字段名称使用了数据库的保留字,SQL中的字段名称必须用双引号("")包裹,以避免SQL语句执行出错。不建议用数据库的保留字来做表名和字段名。
以下SQL语句在Oracle中执行时,字段 stat_time, interval 没有被双引号("")包裹,不区分大小写:
insert into smsc_flow(stat_time,interval,"MODULEID","SMSCNO","ICPNO","MT_OK","MT_FAIL","MT_DELAY","MO_OK","MO_FAIL","STATUS_OK","STATUS_FAIL","SUCCESS_STATUS","COUNT") values('20101010112',1,'MT001',1,1,1,1,1,1,1,1,1,1,1)
以下SQL语句在Oracle中执行时,字段 stat_time, interval 被双引号("")包裹,全部转换成大写执行:
insert into smsc_flow("stat_time","interval","MODULEID","SMSCNO","ICPNO","MT_OK","MT_FAIL","MT_DELAY","MO_OK","MO_FAIL","STATUS_OK","STATUS_FAIL","SUCCESS_STATUS","count") values('20101010111','20101010111',1,'MT001',1,1,1,1,1,1,1,1,1,1,1)
相关推荐
JAVA+Excel+MySQL+Oracle常用配置或者脚本,主要是JDK的配置、Excel办公中用到的一些语法(VLOOKUP、人民币大小写转换等)、MYSQL和Oracle导入导出表结构等SQL语句
1或者oracle, oracle数据库,不区分大小写,默认1,需java1.5及以上版本 2或者sqlserver, mssqlserver数据库,不区分大小写,需java1.6及以上版本 3或者mysql, mysql数据库,不区分大小写,需java1.5及以上版本 4或者...
就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事。直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。 通过查询资料发现需要设置collate(校对) 。 collate规则: *_bin: 表示的是binary case...
此小组件适合表包含很多个字段情况,减少人工取字段时间,perl程序打包成exe可执行文件,大部分人都是用Perl写网站程序,是用它来开发应用程序。exe可以不用暴露他们的Perl源代码
个人曾经写过的数据访问接口,包含:MSSQL、Mysql、Oracle等数据库的公共处理接口。可以拿过来直接使用,放在手里好多年了。 IDatabase接口声明如下: namespace Simple.Database { /// /// IDatabase 接口 /// ...
1NF: 即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只有数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),就自动的满足1NF ☞ 数据库的分类 关系型数据库: mysql/oracle/db2/...
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。...
【强制】使用小写,有助于提高打字速度,避免因大小写敏感而导致的错误。 【强制】没有空格,使用下划线代替。 【强制】名称中没有数字,只有英文字母。 【强制】有效的可理解的名称。 【强制】名称应该是自我解释的...
# 今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。根据MySQL用户手册,使用查询缓冲最多可以达到238%的效率。 # 通过检查状态值'Qcache_%',可以知道query_cache_size设置是否合理:如果Qcache...
’ 输入job是注意大小写 (2) edit 说明:该命令可以编辑指定的sql脚本 案例: sql>edit d:\a.sql 5.显示和设置环境变量 概述:可以用来控制输出的各种格式,set show 如果希望永久的保存相关的设置,可以去修改 ...
一、Mysql使用limit分页 select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize PS: (1)第一个参数值m表示起始行,第二个参数表示取多少行(页面大小) (2)m= (2-1)*10+1,n=10 ,表示 ...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
从就业与择业的角度来讲,计算机相关专业的大学生从事oracle方面的技术是职业发展中的最佳选择。 其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的...
MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自1998年首次发布以来,MySQL以其卓越的性能、可靠性和可扩展性,成为全球范围内Web应用...
将数据从MySQL迁移到Oracle的注意事项,有如下几点 1.自动增长的数据类型处理 MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的...
exists(select tname from tab where tname =’TABLENAME’) 记得表名要大写,因为ORACLE是区分大小写的,所有的表名都存放在tab表中 您可能感兴趣的文章:Sql Server中判断表、列不存在则创建的方法Mysql判断表字段...
【mysql服务的启动与停止】 1、右击我的电脑-管理-服务与应用程序-服务-mysql 2、net stop mysql|net start mysql 【mysql的配置文件以及数据位置】 1、安装目录下名为mysql.ini文件 2、默认数据位置 配置文件中...
一.jdbc访问数据库步骤 1.载入驱动 将jar包加入工程,Class.forname("")... 使用列名作为查询条件数据是大小写敏感的 2.可以设置结果集是否回滚,可否更新 6.关闭连接 按照 ResultSet ,Statement,Connection顺序来关闭
1、mini-jdbc:针对spring jdbc的一些不方便的地方,做了一些封装,大小写不敏感,简化了日常的开发工作。 基于spring jdbc的RowMapper自动实现对象映射,大部分功能已经由spring jdbc实现了。2、数据类型的设计:...
本实验使用SQL注入绕过认证,其中包含注释符绕过、大小写绕过、特殊编码绕过、内联注释绕过等方式。 三、实验环境 1、Windows 10 2、MySQL 四、实验步骤 SQL注入绕过 1.1注释符绕过 常用注释符:-- , /**/, # 验证:...