今天遇到了不能创建mysql函数
今天用navicat 不能创建函数,查询了
MySQL函数不能创建,是未开启功能:
- mysql> show variables like '%func%';
- +---------------------------------+-------+
- | Variable_name | Value |
- +---------------------------------+-------+
- | log_bin_trust_function_creators | OFF |
- +---------------------------------+-------+
- 1 row in set (0.00 sec)
- mysql> set global log_bin_trust_function_creators=1;
- Query OK, 0 rows affected (0.00 sec)
- mysql> show variables like '%func%';
- +---------------------------------+-------+
- | Variable_name | Value |
- +---------------------------------+-------+
- | log_bin_trust_function_creators | ON |
- +---------------------------------+-------+
- 1 row in set (0.00 sec)mysql>
==================
这里写了2个函数,功能是去除用逗号分隔的字符串中重复的字符
CREATE DEFINER=`root`@`localhost` FUNCTION `str_str_unique`(str text,str1 text) RETURNS text CHARSET utf8
BEGIN
#str 要处理的字符 str1 分隔符
#功能:处理字符串中重复的字符
declare stri TEXT default '';
declare i int DEFAULT 1;
declare len int DEFAULT 0;
declare tmp TEXT default '' ;
declare tmp_str varchar(255) default '' ;
declare site varchar(255) DEFAULT null;
set tmp=JSON_OBJECT();
set len = str_str_count(str,str1);
if(len=0)then
return str;
end if ;
repeat
set tmp_str=SUBSTRING_INDEX(SUBSTRING_INDEX(str,str1,i),str1,-1);
set site = JSON_SEARCH(tmp,'one',tmp_str);
if( site is null and tmp_str is not null and tmp_str !='') then
i f(LENGTH(stri)>0)then
set stri = concat(stri,str1,tmp_str);
else
set stri = concat(stri,tmp_str);
end if;
set tmp = JSON_INSERT(tmp,concat('$.key',i),tmp_str);
end if;
set i = i + 1;
until i >len+1 end repeat;
return stri;
END
CREATE DEFINER=`root`@`%` FUNCTION `str_str_count`(str varchar(255),stri varchar(20) ) RETURNS int(12)
BEGIN
# 测量字符串中分隔符的个数
DECLARE total int(20);
SELECT LENGTH(str) - LENGTH(REPLACE(str, stri, '')) into total;
RETURN total;
END
今天遇到了不能创建mysql函数的更多相关文章
- Navicat 创建 Mysql 函数
1.点击新建函数 2.写函数,保存为v1 3.调用 SELECT id,v1(id) from 表
- MySQL函数不能创建的解决方法
MySQL函数不能创建,是一个很麻烦的问题,下面就为您提供了一个解决此问题的方法,如果您也遇到过类似的问题,不妨一看. http://database.51cto.com/art/201010/229 ...
- mysql创建自定义函数与存储过程
mysql创建自定义函数与存储过程 一 创建自定义函数 在使用mysql的过程中,mysql自带的函数可能不能完成我们的业务需求,这时就需要自定义函数,例如笔者在开发过程中遇到下面这个问题 mysql ...
- mysql 创建用户自定义函数
为了防止分号产生的中途输出,自己定义一个 分隔符,这里仿照mysql官方的例子:使用两个美元符号 $$ 作为分割符号,下面这段代码就是创建一个自定义mysql函数的原型了,可以在这个基础上修改,这样, ...
- MySQL下创建序列及创建自定义函数方法介绍
工作过程中需要将基于DB2数据库的应用以及数据迁移到MySQL中去,在原应用中,大量使用了SEQUENCE,考虑尽量减少代码的修改,决定在迁移后的应用中继续保留SEQUENCE的使用,这就要求在MyS ...
- MySQL函数不能创建的解决方法(转)
在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况.下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考. 出错信息大致类似: ERROR 1418 (HY000): Thi ...
- MYSQL进阶学习笔记五:MySQL函数的创建!(视频序号:进阶_13)
知识点六:MySQL函数的创建(13) 内置函数: 自定义函数: 首先查看是否已经开启了创建函数的功能: SHOW VARIABLES LIKE ‘%fun%’; 如果变量的值是OFF,那么需要开启 ...
- MySQL 创建自定义函数(2)
说明:下面创建一个函数,调用自定义函数返回一个返回一个随机数. (1) 创建自定义函数
- MySQL 函数大全
mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NU ...
随机推荐
- 树莓派安装QT(全部库包括)
在网上现有的资料中大部分只有前两个命令,少量有三个命令,因此写下该博客 在树莓派上安装QT5的全部库,包括QtQuick.QtMultimedia库. sudo apt-get install qt5 ...
- tracert命令与tracert (IP地址)-d有什么区别?
他们的意义基本相同,都是路由追踪,返回从源到目标的路由情况:但tracert -d不解析各路由器的名称,只返回路由器的IP地址.而tracert 不仅返回各路由器的IP地址,而且返回其名称.简单来说, ...
- substring(x)和substring(x,y)的用法
substring(x)和substring(x,y)的用法 代码: public class textmu { /** * @param args */ public static void mai ...
- JAVA单元测试的用法和要点
2018年09月25日 10:11:18 琼歌 阅读数 5192 版权声明:禁止转载 https://blog.csdn.net/qq_36505948/article/details/827 ...
- mysql5.7 彻底解决sql_mode=only_full_group_by
ONLY_FULL_GROUP_BY是mysql默认的一种sql模式,其作用是约束sql语句:要求select中的所有字段,除复合函数外,全部要出现在group by中. 默认这种模式是有原因的,因为 ...
- Oracle存储过程、游标、函数
SQL99是什么 (1)是操作所有关系型数据库的规则 (2)是第四代语言 (3)是一种结构化查询语言 (4)只需发出合法合理的命令,就有对应的结果显示 SQL的特点 (1)交互性强,非过程化 (2)数 ...
- mysql数据库指定ip远程访问
1.登录 mysql -u root -p 之后输入密码进行登陆 2.权限设置及说明 2.1添加远程ip访问权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'192. ...
- PCL中有哪些可用的PointT类型(3)
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=268 PointXYZRGBNormal - float x, y, z, ...
- scala简单学习---1
:paste //进入代码块模式 :quit //退出scala编程 安装方面: 版本:scala-2.12.4.msi 环境变量: %SCALA_HOME%\bin;%SCALA_HOME%\jre ...
- 等待数据库引擎恢复句柄失败 SqlServer2012安装时报错 Win10
上周,在一批Win10系统电脑上安装SqlServer 2012时,屡次发生报错,安装失败,显示的失败信息是:等待数据库引擎恢复句柄失败 如下图所示: 面对这样的错误,我的第一反应是百度,在百度上找了 ...