oracle转mysql
1.seqence 主键
mysql没有序列但是有auto_increment字段,将字段修改为自增,插入时: nextval —-》 null
ALTER TABLE T_BLOGROLL_INFO MODIFY id INT AUTO_INCREMENT;
新建了函数currval,nextval
2.分页 和 rownum的修改
=>limit
3.存储过程
4.日期等函数修改
获取当前时间函数: sysdate =========> now()
字符串转时间的函数: to_date(#{createEndTime},’yyyy/mm/dd’) ===>str_to_date(#{createBeginTime},’%Y/%m/%d’)
时间转字符串的函数: to_char(OPERATE_TIME,’yyyy-MM-dd hh24:mi:ss’)====> date_format(OPERATE_TIME,’%Y-%m-%d %H:%i:%S’)
加减日期 DATE_ADD, DATE_SUB
5.字符串等函数修改
字符串连接函数: ‘%’||#{name}||’%’ ===== >CONCAT(‘%’,#{name},’%’)
nvl ===》ifnull
nvl2 ===>if
decode ===>case when then end
insert into select不用改,mysql支持
6.with ==>8.0支持
7 over partition by ==>8.0支持
开窗函数8.0都支持
8 递归函数
start with connect by prior ===》
WITH RECURSIVE tree_cte as
(
select * from areainfo where areaid in (1052)
UNION ALL
select t.* from areainfo t inner join tree_cte tcte
on t.areaid = tcte.parentid – 向上递归父节点
– on t.parentid = tcte.areaid – 向下递归子节点
)
SELECT * FROM tree_cte;
9 merge into
10 wmsys.wm_concat
——> GROUP_CONCAT
11 NLSSORT(areaname, ‘NLS_SORT=SCHINESE_PINYIN_M’)
——–> convert(areaname using gbk)
12.instr()
只支持两个参数, 两个参数以上时要处理
13 substr()
与oracle用法相同
14 mybatis中的jdbcType
15 uuid
oracle:sys_guid()
mysql:replace(uuid(),’-‘,’’)
16 配置:
pom.xml
1 | <dependency> |
db.properties
1 | b2b-ds-1.driver=com.mysql.cj.jdbc.Driver |
…xml
1 | <bean name="b2b-ds-1" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> |
17 浮点数格式化转字符串
oracle:select to_char(9889999.30,’fm9999990.00’) from dual;
mysql:select cast(cast(9889999.30 as DECIMAL(9,2)) as char) from dual;
18 sign函数都支持
SIGN(x) 返回参数的符号,x 的值为负、零和正时返回结果依次为 -1、0 和 1。
19 trunc ===> truncate
截取小数点后几位
oracle:select trunc(1326.666633,2) from dual; ===>1326.66
mysql: select truncate(122229.3366,2) from dual; ====>122229.33
com/ihdou/saasMgr/baseService/efftoolsService/buyer/mapping/BuyerVisitMapper.xml:574,576行:TO_TIMESTAMP
