-
2013-06-20 09:34:29一、查看创建函数的功能是否开启:
mysql> show variables like '%func%';
+-----------------------------------------+-------+
| Variable_name | Value |
+-----------------------------------------+-------+
| log_bin_trust_function_creators | ON |
+-----------------------------------------+-------+
1 row in set (0.02 sec)
二、如果Value处值为OFF,则需将其开启。
mysql> set global log_bin_trust_function_creators=1;
三、创建函数时,先选择数据库,
mysql> use xxx;
Database changed
delimiter $$是设置 $$为命令终止符号,代替分号,因为分号在begin...end中会用到;
mysql> delimiter $$
CREATE FUNCTION first_func(param1 varchar(5),parmam2 varchar(5),param3 varchar(10))
RETURNS TINYINT
BEGIN
RETURN 1;
END
函数创建成功后需恢复分号为命令终止符号。
mysql> delimiter ;
四、测试:
mysql> select first_func('aaa','bbb','ccc');
+-------------------------------+
| first_func('aaa','bbb','ccc') |
+-------------------------------+
| 1 |
+-------------------------------+
1 row in set (0.47 sec)
五、删除函数:
mysql> drop function first_func ;
Query OK, 0 rows affected (0.11 sec)
六、查看函数
1) show function status
显示数据库中所有函数的基本信息
2)查看某个具体函数
mysql>show create function function;更多相关内容 -
mysql 如何创建自定义函数
2022-01-12 19:11:26mysql创建一个函数 delimiter $$ create function 函数名字() returns 返回值类型 begin 函数体… return 返回值(注意类型必须和上面的一样) end delimiter $$ 分隔符(创建函数必须有这个) ...mysql创建一个函数
delimiter $$
create function 函数名字()
returns 返回值类型
begin
函数体…
return 返回值(注意类型必须和上面的一样)
enddelimiter $$ 分隔符(创建函数必须有这个) declare 变量名字 变量类型 default 初始值 定义一个变量 returns 设置返回值类型 begin 函数体开始 end 函数体结束 return 返回值 插入1000000条数据
注意一定要有SET GLOBAL log_bin_trust_function_creators=1; 具体可以看这篇https://blog.csdn.net/qq_38974638/article/details/115536630
SET GLOBAL log_bin_trust_function_creators=1; DELIMITER $$ CREATE FUNCTION test() RETURNS INT BEGIN DECLARE num INT DEFAULT 1000000; DECLARE i INT DEFAULT 0; WHILE i<num DO INSERT INTO `xuesheng`(`name`,`age`,`gradeid`) VALUES(CONCAT(i,''),ROUND(RAND()*99+1),ROUND(RAND()*4+1)); SET i=i+1; END WHILE; RETURN i; END;
调用自定义函数
SELECT test();
顺便提一下怎么删除这个函数
DROP FUNCTION IF EXISTS test; -
mysql中怎样创建函数?
2021-05-26 18:31:32文章目录mysql中怎样创建函数?函数的参数列表通过mysql服务器创建函数通过SQLyog客户端创建函数 mysql中怎样创建函数? 创建函数有两种方式,一种是通过mysql服务器端创建,另外一种是通过SQLyog客户端创建; 函数...mysql中怎样创建函数?
创建函数有两种方式,一种是通过mysql服务器端创建,另外一种是通过SQLyog客户端创建;
函数的参数列表
# 参数列表包括两部分 参数名 参数类型
通过mysql服务器创建函数
先来看第一种方式,首先进入mysql服务器端窗口,如下图:
然后选择一个数据库,我这里选择的是zhaobo数据库,如下图:
创建函数的代码如下:
delimiter $$ create function func1(sid varchar(20)) returns varchar(20) #在函数名后面一定要加上returns 函数返回类型 begin declare cid varchar(20); #在函数中定义一个变量,用来接收函数返回值 select student.cid into cid #把查询结果赋值给cid变量 from student where student.sid=sid; return cid; #函数返回值,返回cid end $$ delimiter ;
调用函数的代码格式如下:
# select 函数名(参数列表);
通过SQLyog客户端创建函数
-
MySQL自定义函数的使用
2022-01-02 21:12:33在MySQL中有很多内置的函数供我们使用,当我们需要用的函数没有内置的时候我们可以进行自定义函数。这里我分享了无参数与有参数的自定义函数的使用MySQL字定义函数是对sql代码集的封装,我将分享有参数与没有参数的自定义函数的使用
studentinfo表数据:
自定义函数的创建、调用、删除
语法
无参数的自定义函数
# 无参数自定义函数 DELIMITER $ CREATE FUNCTION fun1() RETURNS INT # 定义返回值类型 BEGIN # 函数开始 DECLARE ct_men INT DEFAULT 0; # 声明返回值 SELECT COUNT(gender) INTO ct_men FROM studentinfo WHERE gender='男'; RETURN ct_men; # 返回值 END$ DELIMITER ;
# 调用函数 SELECT fun1();
有参数的自定义函数
# 摄氏度转换为华氏度的函数 DELIMITER $ CREATE FUNCTION fun2(s INT) RETURNS VARCHAR(50) # 定义返回值类型 BEGIN # 函数开始 DECLARE h VARCHAR(50) DEFAULT ''; # 声明变量 SET h = CONCAT(32+s*1.8,' C'); # 拼接 RETURN h; # 返回值 END$ DELIMITER ;
# 调用 SELECT fun2(1)
删除自定义函数
DROP FUNCTION fun1;
总结:自定义函数与存储过程非常相似,很多情况下他们的功能都是一样的,里面的代码集的语法都是相同的。有些MySQL管理工具里面存储过程包括存储函数。区别就在于存储过程创建与删除的关键字是procedure,可以有返回值也可以没有,而自定义函数的创建与删除的关键字是function,有且只有一个返回值。
打卡第15天,欢迎对数据库感兴趣的朋友一起讨论、交流,请多指教!
-
MySQL自定义函数编写
2021-02-02 09:37:12需求分析:告警系统里面的告警检查是通过SQL来进行的,一般的SQL实现不了此功能,因此,这里可以通过函数的方式来实现。具体实现如下:1、数据表准备:tb_config_record。新建数据表脚本如下:create table tb_... -
MySQL自建函数之得到两个日期间连续的日期
2015-10-10 11:31:31DELIMITER $$ CREATE DEFINER=`root`@`localhost` FUNCTION `get`(endDate varchar(250), startDate varchar(250)) RETURNS varchar(400) CHARSET latin1 BEGIN declare str varchar(400) default startDate;... -
mysql创建函数报1064错误的解决方案
2021-11-09 18:52:36check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 4 在mysql中默认分号(;)为分隔符,也就是说,遇到分号,就认为你输入完了,需要系统执行了。但... -
oracle与mysql创建自定义函数
2019-01-24 17:43:56我们可以把这些操作写成函数,在需要的地方调用,可以更高效。 一、oracle自定义函数 CREATE OR REPLACE FUNCTION &amp;amp;amp;amp;quot;数据库名称&amp;amp;amp;amp;quot;.&amp;amp;amp;... -
MySQL创建并调用自定义函数
2020-10-26 17:54:08创建及调用创建方法拼接SQL创建方法直接写SQL调用方法 创建方法拼接SQL DELIMITER $$ DROP FUNCTION IF EXISTS genPerson$$ CREATE FUNCTION genPerson(name varchar(20)) RETURNS varchar(50) ... -
详解MySql Date函数
2020-12-15 20:56:07下面是MySQL中最重要的内建函数 函数 描述 NOW() 返回当前的日期和时间 NOW() 返回当前的日期和时间。 语法 NOW() -- 实例 -- 下面是 SELECT 语句: SELECT NOW(),CURDATE(),CURTIME() 结果如下所示: NOW() ... -
Mysql如何创建函数
2022-01-11 11:33:58MySQL默认的结束符是分号,但是函数体中可能用到分号。为了避免冲突,需要另外定义结束符。 (2)DROP FUNCTION IF EXISTS genPerson$$ 如果函数genPerson已经存在了,就删除掉。 (3)CREATE FUNCTION 创建函数... -
Mysql字符串截取函数SUBSTRING的用法说明
2020-09-11 04:25:29今天建视图时,用到了MySQL中的字符串截取,很是方便。 -
mysql 自动生成编号函数
2021-03-16 18:17:23根据需求,保存表数据时需要自动生成一个...数据库用的mysql,所以创建一个mysql函数。1、建表:create table sys_sequence_number(sequenceType varchar(30) not null,val int not null,len int not null);2、建... -
Mysql无法创建函数 错误码 1418
2022-03-17 19:28:35Mysql无法创建函数 错误码: 1418 在mysql中创建函数,报 错误码: 1418 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want ... -
MySQL - 内建函数
2019-01-10 16:59:18在mysql中sum函数查出的最终结果为0的时候会显示null,这时候就需要将null转为0。 1、使用IFNULL(expr1,expr2)函数 SELECT IFNULL(sum(SS), 0.0) AS sum FROM fd_order fo2 WHERE fo2.BUYER_ID = '11' ... -
mysql里怎样创建函数
2021-01-18 18:27:03mysql里创建函数的方法:首先查看创建函数的功能是否开启;然后如果Value处值为OFF,则需将其开启;接着创建函数时,先选择数据库;最后进行测试即可。更多相关免费学习推荐:mysql教程(视频)mysql里创建函数的方法... -
mysql命令行创建函数
2021-07-26 08:26:37mysql命令行模式下创建函数 1、修改命令分隔符为 “$$”,防止执行中函数中的 “;” 符截断函数 delimiter $$ 2、执行创建函数 CREATE DEFINER=`root`@`%` FUNCTION `huai_GETPARLST`(rootId VARCHAR(32)) RETURNS ... -
MySQL8.0自定义函数
2020-07-02 16:57:07问题简介 [Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you ...[Err] 1418-此函数中没有声明DETERMINISTIC,NO SQL或REA -
MySQL自定义函数
2021-01-18 19:15:00自定义函数的格式:CREATE[DEFINER = { user | CURRENT_USER }]FUNCTION sp_name ([func_parameter[,...]])RETURNS type[characteristic ...] routine_bodyfunc_parameter:param_name typetype:Any valid MySQL data... -
MySQL8中创建函数报错的解决
2022-02-09 11:08:56MySQL8中创建函数报错的解决一 问题描述二 解决方案方案一 : 设置全局环境变量方案二 : 修改系统配置文件 一 问题描述 在使用MySQL8.x版本的数据库创建函数时, 报出一下错误 HY000][1418] This function has none of... -
MYSQL的随机函数
2021-03-19 11:09:00-- MySQL 获取11位手机号码(可以随机出现几位数的数字) SELECT CONCAT('1',CEILING(RAND()*9000000000+1000000000)); -- 随机获取0或1 SELECT FLOOR((RAND() * 2)); -- 随机获取一条数据 SELECT * FROM person ... -
mysql创建函数
2021-11-29 15:46:29函数 一、创建语法 create function 函数名() -
Mysql实现split函数
2021-01-18 23:08:19一个朋友遇到点问题,想在mysql里把一段用固定符号分隔的字符...可以通过自建函数来解决,以下的函数来自互联网。DELIMITER $$CREATE FUNCTION `func_get_split_string_total`(f_string varchar(1000),f_delimiter v... -
MySQL学习——操作自定义函数
2021-01-19 13:27:55MySQL学习——操作自定义函数摘要:本文主要学习了使用DDL语句操作自定义函数的方法。了解自定义函数是什么自定义函数是一种与存储过程十分相似的过程式数据库对象。它与存储过程一样,都是由SQL语句和过程式语句... -
怎么给MySQL添加新函数
2021-01-18 22:42:09有两个途径来为MySQL添加新函数: 你可以... 你可以将函数添加为MySQL固有(内建)函数。固有函数被编译进m有两个途径来为MySQL添加新函数:你可以通过自行医函数接口 (UDF)来添加函数。自定义函数被编译为目标文件... -
Mysql 字符串分隔函数
2021-01-20 02:14:18/*** 字符串分隔方法* 获取字符串分隔之后的数组长度*/DROP ...CREATE FUNCTION `func_get_split_total`(f_string text, # 长度不够会导致临时表数据不全,# mysql字符类型varchar有长度限制(最大65535),改用text文... -
MySQL的定时任务执行函数
2021-11-11 11:06:06先写一个函数(创建存储过程) CREATE PROCEDURE insert_monitor () BEGIN SET @V_EXEC_SQL = concat( "CREATE TABLE matchs_", DATE_FORMAT( now(), '%Y%m' ), " AS SELECT * FROM matchs;" ); PREPARE STMT ... -
Mysql之Concat函数的使用
2022-04-06 11:00:47语法三、 MySql中group_concat函数1.介绍四、拓展 repeat函数 前言 MySql中concat函数,连接字符串 一、concat(str1,str2,str3,…)? concat函数返回结果为多个字符串拼接而成的新的字符串。如果有任何一个字符串... -
mysql--自定义函数使用
2021-01-19 09:18:53mysql语句模板语句:create function 函数名([参数列表]) returns 数据类型beginsql语句;return 值;end;SELECT * FROM test_department-- 仅返回一个数字CREATE FUNCTION myselect() RETURNS INTRETURN 666;SELECT ...
收藏数
67,376
精华内容
26,950