1、nvl函数。
Oracle 中 : nvl (join_count , 0)
MySQL中:if(join_count is null,'0',join_count)
2、字符串连接。
Oracle中用“||”进行连接;MySQL中用CONCAT进行连接。
3、系统时间。
Oracle中:select sysdate from dual
MySQL中:select sysdate() from dual
4、DECODE函数。
MySQL中:if(HANDLE_STATUS=0,REISSUED_COUNT,REISSUED_COUNT+1)
Oracle中:DECODE(HANDLE_STATUS,0,REISSUED_COUNT,REISSUED_COUNT+1)
5、序列问题。
Oracle中存在序列。MySQL中不存在序列
6、日期格式转换。
MySQL中:SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') FROM DUAL (注意Y,m,d的大写和小写)
SELECT TIME_FORMAT(NOW(),'%H-%i-%S') FROM DUAL
Oracle中:SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL
SELECT TO_CHAR(SYSDATE,'HH24-MI-SS') FROM DUAL
7、添加一个月。
MySQL中:SELECT DATE_ADD('2000-01-01',INTERVAL 1 MONTH)
ORACLE中:SELECT TO_CHAR(ADD_MONTHS(TO_DATE('20000101','YYYYMMDD'),1),'YYYY-MM-DD') FROM DUAL
8、截取字符串。
MySQL中:SELECT MID('abcdefg',2,3) FROM DUAL;
ORACLE中:SELECT SUBSTR(‘abcdefg’,2,3) FROM DUAL;
9、在MySQL中from 后的表假设是(select.......)这样的,那么后面必须有别名
10、MySQL的GROUP BY语句能够SELECT没有被分组的字段。如SELECT ID,NAME,AGE FROM A GROUP BY AGE这样。可是在ORALCE中是会报错的。这个取出的ID,NAME所在的行是每一个分组中的第一行数据。
未完待续。。。