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

oraclemysql
||

‘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;


(+)                                                                                                  连接


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值