Oracle存储过程转Mysql存储过程

  • 函数转换
  • MySQL函数
    • (CASE WHEN … THEN … ELSE … END)
    • IF(expr,if_true_expr,if_false_expr)
    • 类型转换函数
    • 日期格式化函数

函数转换

Oracle Mysql
sysdate now()
sysdate sysdate()
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 expressionWHEN if_true_expr THEN return_value1WHEN if_true_expr THEN return_value2WHEN 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') # 时分秒

Oracle存储过程转Mysql存储过程相关推荐

  1. oracle存储过程转mysql存储过程修改方法

    不同数据库的存储过程有不同的格式,数据类型.这里通过一个例子展示将ORACLE存储转化为MYSQL存储过程的一些必须修改的地方. ORACLE存储过程 修改后的MYSQL存储过程 两者比较: 语法格式 ...

  2. linux mysql 存储过程乱码,mysql存储过程中 乱码问题解决办法

    中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题. 1.直接使用insert into语句没问题,能够正常插入汉字. 2.把insert into语句移到Procedu ...

  3. 【存储过程】MySQL存储过程/存储过程与自定义函数的区别

    ---------------------------存储过程-------------------- 语法: 创建存储过程: CREATE [definer = {user|current_user ...

  4. mysql存储过程含义,MySQL存储过程定义中的特性(characteristic)的含义

    存储过程语言,默认是sql,说明存储过程中使用的是sql语言编写的,暂时只支持sql,后续可能会支持其他语言 NOT DETERMINISTIC 是否确定性的输入就是确定性的输出,默认是NOT DET ...

  5. mysql存储过程和自定义函数

    2019独角兽企业重金招聘Python工程师标准>>> 存储过程简介 SQL语句需要先编辑后执行,而存储过程是一组为了完成特定功能的SQL语句集,经编译后存储过程在数据库中,用户通过 ...

  6. 转载:mysql存储过程讲解

    记录MYSQL存储过程中的关键语法: DELIMITER // 声明语句结束符,用于区分; CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存储过程 ...

  7. MySQL存储过程-2019/7/18

    MySQL 5.0 版本开始支持存储过程. 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象. 存储过程是为了完成特定功能的SQL语句集,经编 ...

  8. mysql存储过程详细教程

    原文 记录MYSQL存储过程中的关键语法: DELIMITER // 声明语句结束符,用于区分;  CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存 ...

  9. mysql 存储过程

    查询存储过程 show procedure status; SELECT `name` FROM mysql.proc WHERE db = 'your_db_name' AND `type` = ' ...

最新文章

  1. ElasticSearch(3)-安装kibana
  2. 线上性能问题初步排查方法
  3. mysqlsql varchar类型只取前四个_Apache Doris0.12.0 发布,进入 Apache 孵化器后第四个正式版本...
  4. 三维球体换算到二维_AutoCAD三维入门,这些硬核干货要知道,看不懂建议备份收藏...
  5. Redis跳跃表详解
  6. Nagle算法延时确认
  7. Python 集合(set) 介绍
  8. 大数据之-Hadoop3.x_MapReduce_核心思想---大数据之hadoop3.x工作笔记0083
  9. 苏泊尔电磁炉dcl6907_苏泊尔电磁炉c20显示E3故障检修
  10. java epub 删除一页_java如何实现批量删除pdf指定的页数
  11. Java 中如何实现保留两位小数 — DecimalFormat
  12. VSCode 上竟然也能约会,谈对象了???
  13. P3690 【模板】Link Cut Tree (动态树)
  14. proj编译linux,安装OpenProj配置中文显示
  15. linux中下载python_linux下python安装
  16. 数据分析 超市条码_深圳超市通道摆闸常见故障解决|指示灯|摆闸|通道|限位
  17. jbutton java_Java JButton
  18. 不知道怎么把英文文档翻译成中文?手把手教你怎么操作
  19. 嵌入式开发的学习路径
  20. 有序回归: Ordinal Regression的理解

热门文章

  1. MATLAB中颜色和线条对应的标识符
  2. git安装 苹果笔记本_个人博客第5篇——安装node.js和Hexo
  3. c语言 字符串dup,C语言中dup和dup2函数的不同和使用
  4. 《java虚拟机规范SE7》整理——第三章:为Java虚拟机编译
  5. 阅读《惰者集》《用数学的语言看世界》感悟
  6. Java 泛型中的 ? T K V E等代表的意思
  7. 手把手教你如何在项目中使用阿里字体图标IconFont
  8. iis php 404错误页面,IIS自定义404错误页面
  9. idea中LeetCode无法正常使用
  10. Google Earth Engine ——Landsat 5 TM_TOA数据集DN值缩放的、校准的传感器辐射度数据集