mysql自定义函数for循环_mysql自定义函数
1、先查看函数功能是否开启:show variables like '%func%';
若是未开启则:SET GLOBAL log_bin_trust_function_creators=1;
关闭则是:SET GLOBAL log_bin_trust_function_creators=0;
2、自定义函数:
delimiter $$;
这个函数是合并两个字符串
delimiter $$;
DROP FUNCTION IF EXISTS addMaterialName $$;
CREATE FUNCTION addMaterialName(materialName VARCHAR(255),cheName VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
DECLARE newName VARCHAR(255) DEFAULT '';
IF(ISNULL(materialName) or materialName ='') THEN set newName = cheName;
ELSEIF (ISNULL(cheName) or TRIM(cheName) ='')
THEN set newName = materialName;
ELSE set newName = CONCAT(materialName,'(',cheName,')');
END IF;
RETURN newName;
END $$;
delimiter ;
3、查看函数:
show function status;
其它自定义函数:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Function structure for caseChoose
-- ----------------------------
DROP FUNCTION IF EXISTS `caseChoose`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `caseChoose`(`chooseNum` int) RETURNS int(11)
BEGIN
-- case 选择欲绝
case chooseNum
when 1 THEN RETURN 100;
when 2 THEN RETURN 200;
else RETURN 300;
end case;
END
;;
DELIMITER ;
-- ----------------------------
-- Function structure for forNum
-- ----------------------------
DROP FUNCTION IF EXISTS `forNum`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `forNum`(`chooseNum` int) RETURNS int(11)
BEGIN
-- loop1 :标志位:开始循环
loop1: LOOP
SET chooseNum=chooseNum+1;
IF chooseNum=100
-- 跳出本次循环
then ITERATE loop1;
elseif chooseNum = 200
-- 跳出循环
THEN LEAVE loop1;
-- if要有结束语句否则错误
end if;
-- 结束循环 标志位
end loop loop1;
-- 返回内容
RETURN chooseNum +1;
END
;;
DELIMITER ;
-- ----------------------------
-- Function structure for forNumRepeat
-- ----------------------------
DROP FUNCTION IF EXISTS `forNumRepeat`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `forNumRepeat`(`chooseNum` int) RETURNS int(11)
BEGIN
-- REPEAT语句是有条件控制的循环语句。当满足特定条件时,就会跳出循环语句
-- [begin_label:] REPEAT
-- statement_list
-- UNTIL search_condition
-- END REPEAT [end_label]
REPEAT
SET chooseNum=chooseNum+1;
-- 当数据为100的时候结束语句
UNTIL chooseNum=100
END REPEAT ;
RETURN chooseNum + 2;
END
;;
DELIMITER ;
-- ----------------------------
-- Function structure for forNumWhile
-- ----------------------------
DROP FUNCTION IF EXISTS `forNumWhile`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `forNumWhile`(`chooseNum` int) RETURNS int(11)
BEGIN
-- while do 语句:
WHILE chooseNum<100 DO
SET chooseNum=chooseNum+1000;
END WHILE ;
return chooseNum;
END
;;
DELIMITER ;
-- ----------------------------
-- Function structure for ifNum
-- ----------------------------
DROP FUNCTION IF EXISTS `ifNum`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `ifNum`(`id` int,`num` int) RETURNS int(11)
BEGIN
-- if 条件判断语句
if id < 3 THEN RETURN id;
ELSEIF num > 3 then RETURN num;
else RETURN 123;
end if;
END
;;
DELIMITER ;
mysql自定义函数for循环_mysql自定义函数相关推荐
- mysql 日期时间格式化字符串_MySQL日期函数与日期转换格式化函数大全
Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1.DAYOFWEEK(date) SELECT DAYOFWEEK('2016-01 ...
- mysql带中文日期转换_MySQL日期函数与日期转换格式化函数大全
Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1.DAYOFWEEK(date) 2.WEEKDAY(date) 3.DAYOFMO ...
- mysql开窗函数有哪些_mysql开窗函数
开窗函数: 它可以理解为记录集合,开窗函数也就是在满足某种条件的记录集合上执行的特殊函数. 对于每条记录都要在此窗口内执行函数,有的函数随着记录不同,窗口大小都是固定的,这种属于静态窗口: 有的函数则 ...
- mysql的排名函数怎么用_MySQL排名函数
MySQL排名函数 MySQL使用一种排名功能,该函数使我们能够对数据库中分区的每一行进行排名.排名函数还是MySQL窗口函数的一部分. MySQL中的排名函数可以与以下子句一起使用: 他们总是使用O ...
- mysql自定义函数的分号_mysql自定义function问题解决
最近公司生产环境的系统有个需求,需要往mysql数据库的一张表里批量添加数据,业务部门给的数据大致如下: 中心 3.5L箱子(条码) 8L箱子(条码) 15L箱子(条码) 20L箱子(条码) 浙江物流 ...
- mysql函数保留小数_MySql自定义函数-关于保留小数位的特殊需求
背景 昨天,关于价格详情接口又来了一个小需求,而且有点特别.价格显示:改为保留两位小数,没错,就是保留两位小数.大家是不是想说这没啥特别的...数据库都有函数搞定了.例如四舍五入的ROUND(x,d) ...
- mysql 自定义函数报错_Mysql自定义函数报错解决方法
[最近研究mysql数据库性能的相关问题,为了对比不同版本之间的差别.笔者找了一台测试服务器升级了该服务器的mysql数据库进行测试,在升级mysql过程中遇到了一些问题并将其 1.在MySql中创建 ...
- mysql 自定义函数报错_Mysql自定义函数报错解决方法 | 学步园
1.在MySql中创建自定义函数报错信息如下: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READ ...
- MySQL 自定义函数设置执行时间_mysql自定义函数计算时间段内的工作日(支持跨年)...
① 同一年的情况下计算工作日函数 CREATE DEFINER=`root`@`%` FUNCTION `WORKDAYSONEYEAR`(`datefrom` datetime,`dateto` d ...
- mysql自定义变量比较大小_MySQL 自定义变量@ 常用案例
以下文章来源于SQL开发与优化 大家好,我是知数堂SQL 优化班老师 网名:骑龟的兔子 很久没有写文章,最近碰到了一个非常有意思的Oracle SQL 案例, 这个案例,我用了一些窗口函数来解决的,后 ...
最新文章
- 微软推出Python入门课,登上GitHub趋势榜第一
- 蓝牙驱动卸载后自动安装_智能产品 | 安装水循环系统后,全自动洗车机洗车会更节水吗?...
- C++ using namespace 命名空间的定义与使用
- 城市交通路网(信息学奥赛一本通-T1261)
- 使用PostgREST的RestAPI操作之 类型转JSON对象 | 嵌入视图
- Tabs Outliner(标签系统)
- 学python有前途吗-现在学Python还有前途吗?能做什么?
- 复制百度文库内容chrome插件
- Intellij IDEA2017安装破解
- 两个分数化简比怎么化_分数化简比的方法什么,六年级上求比值与化简比的对比...
- python开发小程序拼团_【微擎微赞模块】砍价宝4.5小程序版+小程序前端+后端+素材包+砍价+抢购+拼团...
- SELECT command denied to user ''@'%' for column 'xxx_id' in table 'users_xxx' 权限问题
- 如何进行 360 评估
- java在线观看(jav在线网站)
- 中国工商银行网上银行新B2C在线支付接口文档下载地址
- java商品管理系统
- android webview 找不到网页,webview loadUrl 显示“找不到网页”
- 【Java_SSM_kuang】
- 抠图换背景的软件哪个好?快把这些软件收好
- 对QQ通信协议的讨论
热门文章
- DIALOGBOXPARAMA
- 基于java的校园兼职管理系统_基于JAVA WEB的大学生兼职管理系统的分析与设计
- java编程语言的优点你知道几个
- java面试宝典app_Java面试宝典
- xp系统支持的python版本_xp系统安装不上python
- Spring中JdbcTemplate各个方法的使用介绍(持续更新中....)
- 读《UNIX 编程艺术》
- linux服务器上的cad病毒,LibreCAD_LibreCAD下载[2021官方最新版]LibreCAD安全下载_
极速下载...
- 出现报错Maximum call stack size exceeded
- 【PID优化】基于蝙蝠 粒子群 花卉授粉算法和布谷鸟搜索算法实现热交换器的PI控制器优化