
mysql
文章平均质量分 66
乞丐大王111
这个作者很懒,什么都没留下…
展开
-
mysql 实现list (也就是Oracle 数组问题)(存储过程)
mysql实现数组1.传入数组2.获取根据分隔符获取数组的长度3.获取数组相应位置的元素4.替换相应位置的元素5.在父字符串中,子字符串,从某个起始位置开始,第几次出现的下标(替换的方法里面用到了)6.完整的遍历的写法注意:由于oracle之类的list里面是可以塞null值的,所以我这边都是允许两个逗号直接相邻的,这里面代表的是null值,或者说空值,但是由于mysql里面null和空是不一样的,所以这代表什么就由你们自己决定了。数据库一直通常会遇到不兼容的问题,例如Oracle里面有数组的概念,但是m原创 2021-12-01 16:50:19 · 4657 阅读 · 0 评论 -
mysql中实现orcal的instr函数
mysql中具有instr函数,但是这个函数只有两个参数,第一个参数为字符串,第二个参数为需要查询的字符串,返回的结果是第一次出现的位置。但是orcal中的instr函数具有四个参数,前两个参数一样,但是后面可定义查询的起始位置和第几次出现。CREATE DEFINER=`root`@`192.168.1.%` FUNCTION `instr1`(IN_STR1 varchar(2500),#父字符串IN_STR2 varchar(2500),#需要查询的字符串IN_STARTPOS int(10原创 2020-12-08 15:20:08 · 655 阅读 · 0 评论 -
mysql常用的函数
1.字符串转日期(24小时制)str_to_date(’’,’%Y-%m-%d %H:%i:%s’);2.日期转字符串(24小时制)date_format(date,’%Y-%m-%d %H:%i:%s’);3.判断str1是否为空,str1为空则返回str2,否则返回str1ifnull(str1,str2)4.列转行,返回一个以逗号进行分隔的字符串GROUP_CONCAT(id)5.获取子字符串,从pos位置开始的len长度,pos位置从1开始substr(str,pos,len);原创 2020-11-25 15:57:47 · 221 阅读 · 0 评论 -
mysql 存储过程(动态sql语句、动态游标、根据查询结果更新语句)的实现
这里写自定义目录标题动态sql语句动态游标更新语句的值来自查询结果动态sql语句CREATE DEFINER=`root`@`%` PROCEDURE `NewTest`(IN `IN_ID` varchar(200))BEGINdeclare r_sql varchar(2000); #############根据输入的ID,将该条记录的name改为陈############# set r_sql='update test111 set name=''陈''原创 2020-11-24 15:16:11 · 2448 阅读 · 0 评论 -
MYSQL存储过程详解(创建、变量的定义、异常、错误输出、游标、调试)
最简单的存储过程首先是存储过程的定义:CREATE DEFINER=[用户] PROCEDURE [存储过程名] (参数) BEGIN END;如下图代码:CREATE DEFINER=`root`@`%` PROCEDURE `NewTest`( )BEGINEND定义了一个名为NewTest的存储过程,它的用户是root,没有任何参数,begin-end之间也没执行任何的操作,但是已经是一个完整的存储过程了。简单的存储过程参数的定义 IN | OUT | INOUT 参数原创 2020-11-13 17:27:22 · 3759 阅读 · 0 评论 -
(开启默认提交的)MYSQL存储过程的(事物,提交,回滚,调用子存储过程)
从orcal转到mysql中,总是被mysql中莫名的提交搞的数据混乱,因此记录一下各种情况。准备工作两个存储过程分别是NewTest和NewTest1一张数据表 test111,数据很简单如图所示,每个例子的初始情况都是这样。单个存储过程1.回滚单纯的一个存储过程NewTest,如果想要进行回滚或者提交操作的时候需要开启事物,否则每执行一个更新或者删除操作都会被自动提交。CREATE DEFINER=`root`@`%` PROCEDURE `NewTest`( )BEGINSTAR原创 2020-11-11 16:01:29 · 724 阅读 · 0 评论