数据库:Mysql 与 ORACLE 开发差异

一、 常用的基本数据类型对比

中文描述 ORACLE 大小范围 mysql 大小范围
日期时间类型 date datetime
数值类型 number Int,decimal
变长字符串 Varchar2(10) 1-4000bytes Varchar 0-65535bytes
定长字符串 Char(10) 1 - 2000bytes Char 0-255bytes
二进制的文本数据 blob longblob
大文本数据 clob longtext

二、 常用 SQL 函数以及其它语法差异

函数或者语法 ORACLE MYSQL
日期函数 Select sysdate from dual; Select sysdate();select now();
日期格式化 Select to_char(sysdate,’YYYY-MM-DD’) from dual; Select date_format(now(),’%Y-%M-%D’);
日期加运算 Select add_months(sysdate,1) from dual – 加一个月
Select sysdate+1 from dual – 直接加 一天
Select date_add(now(),interval 1 month) – 加一个月
select date_add(now(),interval 1 day); – 加一天
字符串拼接 || 符号进行字符串拼接(或者 concat) 只能使用 concat
返回限制的条数 Select * from tableName where rownum <=10; Select * from tableName limit 5;
分页查询 Select * from ( Select t.*,rownum no from tableName t Where t.rownum<=110 ) a where a.no>100; Select * from tableName limit 101,10;
外连接 (+) 是 Oracle 定义的连接语法 Mysql 不支持
全连接 Full join 是 Oracle 定义的全连接语法 Mysql 不支持,只能通过左右连接并去重实现
数据转换函数 Decode 数据转换函数 Case when then end
自动增长类型 Oracle 建立 seq 序列来实现自增长 Mysql 可以使用自动增长的数据类型
树形结构的递归查询 Start with connect by Mysql 无法实现。只能使用自定义函数来实现
判断是否为空 Nvl(字段名,值); Ifnull() or isnull
日期转换函数 To_date / to_char Str_to_date / date_format
大小写区分 表名与字段名在不带双引号(“”)的情况下建立的都是不区分大小写 默认是区分大小写的。可以修改数据库配置不做区分(Linux)

猜你喜欢

转载自blog.csdn.net/qq_33811662/article/details/81014360