Oracle存储过程转Mysql存储过程

函数转换

OracleMysql
sysdatenow()
sysdatesysdate()
nvl()ifNull()
||(字符串连接)concat()
LENGTH()LENGTH()
substr()SUBSTRING()
decode()(case when then else end)

MySQL函数

(CASE WHEN … THEN … ELSE … END)

在SQL语句中,"CASE WHEN … THEN … ELSE … END"是较常见的用来判断的语句,适用于增删改查各类语句中,公式如下:

CASE expression
	WHEN if_true_expr THEN return_value1
	WHEN if_true_expr THEN return_value2
	WHEN if_true_expr THEN return_value3
	……
	ELSE default_return_value
END

判断null值处理

# 错误方法:
CASE columnName WHEN null THEN 0 ELSE columnName END
# 正确方法 建议用ifnull()函数处理
CASE WHEN columnName is null THEN 0 ELSE columnName END

IF(expr,if_true_expr,if_false_expr)

在mysql中if()函数的用法类似于java中的三目表达式,具体语法如下:

IF(expr,if_true_expr,if_false_expr)

如果expr的值为true,则返回if_true_expr的值,如果expr的值为false,则返回if_false_expr的值。

类型转换函数

cast(value as type)

convert(value,type)  
# 字符串转整形: convert('',SIGNED) 
# 整形转字符串: convert('',char)
# 建议用convert() 比较方便

type的类型

  • 整数 : SIGNED
  • 无符号整数 : UNSIGNED
  • 二进制,同带binary前缀的效果 : BINARY
  • 字符型,可带参数 : CHAR()
  • 日期 : DATE
  • 时间: TIME
  • 日期时间型 : DATETIME
  • 浮点数 : DECIMAL

日期格式化函数

date_format(NOW(), '%Y%m%d')  # 年月日
date_format(NOW(), '%H:%i:%s') # 时分秒
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李熠漾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值