Oracle与mysql区别:

1.Oracle有表空间,mysql没有表空间。

2.mysql的char类型取值范围0-255字节,varchar为0-65535字节

3.oracle的char类型取值范围1-2000字节,varchar为1-4000字节

4.Oracle数据库可以自定义时间格式显示类型

以美国英语显示: alter session set nls_language=\’american\’;

以中文显示:alter session set nls_language=\’simplified chinese\’;

alter session set nls_date_format=\’YY/MM/DD\’;,Mysql不能这样设置

 

 

5.Oracle数据库连接符select ename||\’的月工资是:\’||sal||\’岗位是\’||job from emp; Mysql不能这样用

 

 

6.Oracle模糊查询:Select * from emp where ename like \’%\_%\’ escape \’\\’; //表示包含正常下划线时,后面要加escape \’\\’

Mysql模糊查询:Select * from emp where ename like \’%\_%\’ ;

7.Oracle不能直接用函数 select upper(\’abc\’) ,select concat(\’12\’,\’34\’);select replace(“hello oracle”,\’oracle\’,\’world\’),要在后面加上 from dual ,Mysql后面加不加 from dual都可以;

 

Oracle可以 initcap //将首字母大写,其他小写 : select empno,initcap(ename) from emp;

Mysql没有initcap函数

8.Oracle:select trunc(1.23456) from dual; //不指定从第几位开始截取,默认全部截取

Mysql:select TRUNCATE(1.23456,1) from dual; //必须指定从第几位开始截取

9.Oracle: select mod(25,0) from dual; –25

Mysql:select mod(25,0) from dual -null

10.Oracle: select sysdate from dual;; –19/03/30

Mysql:select sysdate() from dual; -19/03/30,主要多了一个括号

11.Oracle:select months_between(sysdate,hiredate)/12 from emp //计算员工入职时间

Mysql没有months_between函数

12.Oracle:select ename,add_months(hiredate,30*12) from emp //查询某某员工入职30年后的年份

Mysql没有add_months函数

13.Oracle:可以使用转换函数,to_date,to_number,to_char,,Mysql不可以

14.Oracle:可以使用通用函数nvl(处理null)

15.Oracle:select wm_concat(ename) from emp 行转列函数,mysql没有这函数

16.Oracle:有序列对象 mysql没有这个对象

17.Oracle:有同义词对象 mysql没有这个对象

 

版权声明:本文为binghuaZhang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/binghuaZhang/p/10780562.html