oracle到mysql的迁移,函数部分

oracle到mysql的迁移,函数部分

to_date(?, 'YYYY-MM-DD HH24:MI:SS')"
STR_TO_DATE('2003-15-10 00:00:00','%Y-%m-%d %H:%i:%s');     //格式不对,会返回NULL

to_char(create_time,'yyyy-MM-dd')
DATE_FORMAT(create_time,'%Y-%m-%d')

sysdate
now()或者CURRENT_TIMESTAMP //'1997-12-15 23:50:26',建表的时候,timestamp类型可以指定default CURRENT_TIMESTAMP

sysdate - 7   //7天前
now()-INTERVAL 7 DAY  

select * from (select .... where rownum<end) where rownum>start
limit [start,] length

substr(productInfor,1,20)
SUBSTRING('Quadratically',5,6)     //SUBSTRING(str,pos,len)

instr(str,substr,pos,index)
instr(str,substr) 或者 locate(substr,str,pos)
// 没有相对应的语法,但一般情况,这个是和substr结合起来用的。
//如果是str="2005-10-01"取中间的10这样的需要,oracle是substr(str,instr(str,'-',1,1)+1,instr(str,'-',1,2)-instr(str,'-',1,1)-1)
那在mysql里面,可以试试这样SUBSTRING_INDEX(SUBSTRING_INDEX(str,'-',2),'-',-1),意思就是取第二个-之前的str后(2005-10),再取倒数第一个-之后的内容

oracle的nvl(ss,dd)函数在mysql中怎么实现?
答:ifnull(ss,dd)

你可能感兴趣的:(oracle到mysql的迁移,函数部分)