欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle迁移到mysql数据库的简单对比

程序员文章站 2022-06-24 20:23:45
oracle迁移到mysql的简单对比 oracle mysql || ‘dept_’||name concat(str1,str2,…)) ,参...

oracle迁移到mysql的简单对比

oracle mysql
||

‘dept_’||name

concat(str1,str2,…)) ,参数含有null,会返回null,所以对oracle里面参数要使用ifnull函数判断是否为空

 

concat('dept_',ifnull(name,''))
 

decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)


decode(city,0,'否',1,'是')
case when then else end ? ? ? ? ? else后面是没有对应条件,设置的值

case city when 0 then '否' when 1 then '是' end

sysdate ?获得现在时间

now()或者sysdate()

nvl (expr1, expr2):expr1为null,返回expr2;不为null,返回expr1。注意两者的类型要一致?

ifnull()

nvl2 (expr1, expr2, expr3) :expr1不为null,返回expr2;为null,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型?



nvl2(status,1,0)

if()和ifnull()配合实现

if(expr1,expr2,expr3)?expr1 为0或者null或者false,则返回 expr3 ; 否则,返回expr2;


if(ifnull(status,false),1,0)

to_char(date,'yyyy-mm-dd hh24:mm:ss')

to_data(date.time,'yyyy-mm-dd?')

1.?date_format(date,'%y-%m-%d')

1.?tr_to_date(date,'%y-%m-%d')?

列名 desc?nulls last?

?my sql 默认null 为最小
order by order_col [asc|desc] nulls [first|last] order by if(isnull(my_field),1,0),my_field;

trunc()截数字时?

?truncate()代替

to_number(str)?

cast("123" as signed integer)

2个日期相减(d1-d2)

datediff(date1,date2)

rownum

select @rownum:=@rownum+1 as rownum, table.* from (select @rownum:=0) r,table;