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沒有這個對象