oracle 转mysql数据出现的问题

1.

 在通过Navicat将oracle数据库中的表转为mysql时出现以下错误:

解决方法:
先将oracle中表对应的字段改为local time zone类型。如
– Add/modify columns
alter table 表名 modify create_time timestamp with local time zone;

转完之后还原之前的字段类型

alter table 表名 modify create_time DATE ;

 2.Oracle的“ROWNUM”关键字在MySQL中使用“LIMIT”关键字

oracle 中 SELECT *FROM  表名 t WHERE  t.id= '104967679'  AND rownum = 1 ;

mysql中  SELECT *FROM  表名 t WHERE  t.id= '104967679'  Limit  1;

 3.Oracle的“NVL”函数在MySQL中使用“IFNULL”函数

Oracle:SELECT NVL(salary, 0) FROM employees;

MySQL:SELECT IFNULL(salary, 0) FROM employees;

4.Oracle的“TO_CHAR”函数在MySQL中使用“DATE_FORMAT”函数

Oracle:SELECT TO_CHAR(hire_date, 'YYYY-MM-DD') FROM employees;

MySQL:SELECT DATE_FORMAT(hire_date, '%Y-%m-%d') FROM employees;

5.Oracle的“TO_NUMBER”函数在MySQL中使用“CAST”函数

Oracle:SELECT TO_NUMBER('123') FROM dual;

MySQL:SELECT CAST('123' AS UNSIGNED);

6.Oracle的“TO_DATE”函数在MySQL中使用“STR_TO_DATE”函数,例如:

 

Oracle:SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD') FROM dual;
MySQL:SELECT STR_TO_DATE('2022-01-01', '%Y-%m-%d');



 

 

posted @ 2023-10-17 11:43  ni当像鸟飞往你的山  阅读(9)  评论(0编辑  收藏  举报