Oracle存储过程转Mysql存储过程
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存储过程相关推荐
- oracle存储过程转mysql存储过程修改方法
不同数据库的存储过程有不同的格式,数据类型.这里通过一个例子展示将ORACLE存储转化为MYSQL存储过程的一些必须修改的地方. ORACLE存储过程 修改后的MYSQL存储过程 两者比较: 语法格式 ...
- linux mysql 存储过程乱码,mysql存储过程中 乱码问题解决办法
中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题. 1.直接使用insert into语句没问题,能够正常插入汉字. 2.把insert into语句移到Procedu ...
- 【存储过程】MySQL存储过程/存储过程与自定义函数的区别
---------------------------存储过程-------------------- 语法: 创建存储过程: CREATE [definer = {user|current_user ...
- mysql存储过程含义,MySQL存储过程定义中的特性(characteristic)的含义
存储过程语言,默认是sql,说明存储过程中使用的是sql语言编写的,暂时只支持sql,后续可能会支持其他语言 NOT DETERMINISTIC 是否确定性的输入就是确定性的输出,默认是NOT DET ...
- mysql存储过程和自定义函数
2019独角兽企业重金招聘Python工程师标准>>> 存储过程简介 SQL语句需要先编辑后执行,而存储过程是一组为了完成特定功能的SQL语句集,经编译后存储过程在数据库中,用户通过 ...
- 转载:mysql存储过程讲解
记录MYSQL存储过程中的关键语法: DELIMITER // 声明语句结束符,用于区分; CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存储过程 ...
- MySQL存储过程-2019/7/18
MySQL 5.0 版本开始支持存储过程. 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象. 存储过程是为了完成特定功能的SQL语句集,经编 ...
- mysql存储过程详细教程
原文 记录MYSQL存储过程中的关键语法: DELIMITER // 声明语句结束符,用于区分; CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存 ...
- mysql 存储过程
查询存储过程 show procedure status; SELECT `name` FROM mysql.proc WHERE db = 'your_db_name' AND `type` = ' ...
最新文章
- ElasticSearch(3)-安装kibana
- 线上性能问题初步排查方法
- mysqlsql varchar类型只取前四个_Apache Doris0.12.0 发布,进入 Apache 孵化器后第四个正式版本...
- 三维球体换算到二维_AutoCAD三维入门,这些硬核干货要知道,看不懂建议备份收藏...
- Redis跳跃表详解
- Nagle算法延时确认
- Python 集合(set) 介绍
- 大数据之-Hadoop3.x_MapReduce_核心思想---大数据之hadoop3.x工作笔记0083
- 苏泊尔电磁炉dcl6907_苏泊尔电磁炉c20显示E3故障检修
- java epub 删除一页_java如何实现批量删除pdf指定的页数
- Java 中如何实现保留两位小数 — DecimalFormat
- VSCode 上竟然也能约会,谈对象了???
- P3690 【模板】Link Cut Tree (动态树)
- proj编译linux,安装OpenProj配置中文显示
- linux中下载python_linux下python安装
- 数据分析 超市条码_深圳超市通道摆闸常见故障解决|指示灯|摆闸|通道|限位
- jbutton java_Java JButton
- 不知道怎么把英文文档翻译成中文?手把手教你怎么操作
- 嵌入式开发的学习路径
- 有序回归: Ordinal Regression的理解
热门文章
- MATLAB中颜色和线条对应的标识符
- git安装 苹果笔记本_个人博客第5篇——安装node.js和Hexo
- c语言 字符串dup,C语言中dup和dup2函数的不同和使用
- 《java虚拟机规范SE7》整理——第三章:为Java虚拟机编译
- 阅读《惰者集》《用数学的语言看世界》感悟
- Java 泛型中的 ? T K V E等代表的意思
- 手把手教你如何在项目中使用阿里字体图标IconFont
- iis php 404错误页面,IIS自定义404错误页面
- idea中LeetCode无法正常使用
- Google Earth Engine ——Landsat 5 TM_TOA数据集DN值缩放的、校准的传感器辐射度数据集