Oracle 到mysql 转换的问题总结 常用字段类型区别 oracle mysql nu mber(10,0) int nu mber(10,2) decimal(10,2) v archar2 v archar date datetime Colb tex t 个别语句写法区别 1.oracle 里只可以用单引号包起字符串,mysql 里可以用双引号和单引号。 2.mysql 在 select * from () ....,from 后面是一个结果集时,括号后面必须加上别名。 3.mysql 在 delete 数据时不能给表加别名,如:delete from table1 T where....,会报错,但是可以这样写:delete T from table1 T where....。 4.Mysql 不支持在同一个表中先查这个表在更新这个表,举个例子说明一下, insert into table1 values(字段1,(select 字段2 from table1 where...)), 但是可以在后面那个table1 加上别名就没有问题了。 insert into table1 values(字段1,(select T.字段2 from table1 T where...)) 5.MYSQL 有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE 没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。也可以自定义函数实现 oracle 的nextval。 6.翻页的sql 语句处理,MYSQL 处理翻页的SQL 语句比较简单,用LIMIT 开始位置, 记录个数,例如:select * from table limit m,n,意思是从 m+1开始取 n条。 常见的函数替换 1.日期转换方面的函数 oracle my sql 说明 to_char(date,’yyyy-MM-dd hh24:mi:ss’) date_format(date,'%Y-%m-%d %H:%i:%s') 注意时间格式的对应 to_date(str,’yyyy-MM-dd hh24:mi:ss’) str_to_date(str,'%Y-%m-%d %H:%i:%s') 注意时间格式 to_date(str,’yyyy-MM-dd hh24:mi:ss’) str_to_date(str,'%Y-%m-%d%T') 注意时间格式 to_char()、to_number() convert(字段名,类型) 类型转换 date + n date_add(date,interval n day) 日期增加 n 天 select date_add(sysdate(),INTERVAL 2 DAY); add_months(date,n) date_add(date,interval n month) 日期增加 n 个月 select date_add(sysdate(),INTERVAL 2 MONTH); date1 - date2 datediff(date1,date2) 日期相减获取天数 2.oracle 中 decode()函数,可以用 case when 进行替换 例子: Oracle:select decode(a,b,c,d) as col1 from table1; Mysql...