delimiter $$
DROP FUNCTION IF EXISTS `getFloor`$$
CREATE FUNCTION getFloor(message VARCHAR(255)) RETURNS INT
BEGIN
DECLARE floor INT;
DECLARE b INT;
DECLARE e INT;
DECLARE s VARCHAR(255);
SET floor = 0;
SET b = LOCATE('[quote] 对', message);
IF (b > 0) THEN
SET s = SUBSTRING(message, 10);
SET s = SUBSTRING_INDEX(s,'楼',1);
SET floor = CAST(s AS SIGNED);
END IF;
RETURN(floor);
END
$$
delimiter $$
DROP FUNCTION IF EXISTS `getContent`$$
CREATE FUNCTION getContent(message VARCHAR(255)) RETURNS VARCHAR(255)
BEGIN
DECLARE r VARCHAR(255);
DECLARE b INT;
DECLARE s VARCHAR(255);
DECLARE pos INT;
SET r = '';
SET s = message;
cutQuote:LOOP
INSERT INTO `debug`(`msg`) VALUES(CONCAT('r=', r,',s=', s));
SET b = LOCATE('[quote] 对', s);
IF (b <= 0) THEN
SET r = CONCAT(r, s);
LEAVE cutQuote;
ELSEIF b = 1 THEN
SET pos = LOCATE('楼大人说:[/quote]', s) + 13;
SET s = SUBSTRING(s, pos);
ELSEIF b > 1 THEN
SET r = CONCAT(r, SUBSTRING(s, 1, b - 1));
SET s = SUBSTRING(s, b);
END IF;
END LOOP cutQuote;
RETURN(r);
END
$$
delimiter ;
delimiter $$
DROP FUNCTION IF EXISTS `getPath`$$
CREATE FUNCTION getPath(p_id INT) RETURNS VARCHAR(255)
BEGIN
DECLARE s VARCHAR(255);
DECLARE p INT;
DECLARE r INT;
SET s = '';
SET p = p_id;
getP:LOOP
IF (p > 0) THEN
SELECT `pid` INTO r FROM `wy_category_comment` WHERE `cid`=p;
SET p = r;
SET s = CONCAT('_', p, s);
ELSE
LEAVE getP;
END IF;
END LOOP getP;
SET s = SUBSTRING(s FROM 2);
RETURN(s);
END
$$
elimiter $$
DROP FUNCTION IF EXISTS `insertKeyWords`$$
CREATE FUNCTION insertKeyWords(str TEXT) RETURNS bit
BEGIN
DECLARE CRLF VARCHAR(10);
DECLARE pCRLF INT;
DECLARE s TEXT;
DECLARE sPre TEXT;
DECLARE sSuf TEXT;
DECLARE relItem VARCHAR(255);
DECLARE relword VARCHAR(255);
DECLARE equalPos INT;
SET CRLF = char(10);
SET pCRLF = 0;
SET s = str;
splitCRLF:LOOP
SET pCRLF = LOCATE(CRLF, s);
IF (pCRLF <= 0) THEN
SET equalPos = LOCATE('=',s);
SET relItem = SUBSTRING(s FROM 1 FOR equalPos-1);
SET relword = SUBSTRING(s FROM equalPos+1);
INSERT INTO `k`.`test`(`item`,`word`,`isreg`) VALUES(relItem,relword,0);
LEAVE splitCRLF;
ELSE
SET sPre = SUBSTRING(s FROM 1 FOR pCRLF-1);
SET sSuf = SUBSTRING(s FROM pCRLF+1);
SET equalPos = LOCATE('=',sPre);
SET relItem = SUBSTRING(sPre FROM 1 FOR equalPos-1);
SET relword = SUBSTRING(sPre FROM equalPos+1);
INSERT INTO `k`.`test`(`item`,`word`,`isreg`) VALUES(relItem,relword,0);
SET s = sSuf;
END IF;
END LOOP splitCRLF;
RETURN(0);
END
$$
delimiter ;
分享到:
相关推荐
mysql自定义函数 在MySQL数据库中,可以通过创建自定义函数来扩展数据库的功能,以便更方便和灵活地处理数据。以下是创建MySQL自定义函数的基本步骤:
用MySQL函数实现 小写金额与大写金额的互转,用数据库来实现
MySQL关于自定义函数以及常用函数的组织点的总结(例如日期函数)
MySQL触发器、存储过程、自定义函数、视图简单示例
本文实例讲述了MySQL自定义函数用法。分享给大家供大家参考,具体如下: 先来一个简单的,创建一个函数将’2009-06-23 00:00:00’这样格式的datetime时间转化为’2009年6月23日0时0分0秒’这样的格式: DELIMITER $...
本文实例讲述了mysql自定义函数原理与用法。分享给大家供大家参考,具体如下: 本文内容: 什么是函数 函数的创建 函数的调用 函数的查看 函数的修改 函数的删除 首发日期:2018-04-18 什么是函数: 函数...
MySQL_5.1简体中文手册_第12章:函数和操作符,公司的人内部写的希望对大家有帮助
1、mysql数据库转国产化瀚高数据库; 2、有些函数在瀚高数据库中不存在,需要添加自定义函数。
给Mysql加自定义函数计算百分位数(percentile)。-附件资源
主要介绍了MySQL通过自定义函数实现递归查询父级ID或者子级ID,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了MYSQL自定义函数判断是否正整数 的实例代码,主要是使用正则表达式来判断,具体实例代码大家跟随小编一起通过本文学习吧
因为工作需要,要写一个mysql的自定义行数,如下 DELIMITER $$ DROP FUNCTION IF EXISTS `onlineFunction`$$ CREATE FUNCTION `onlineFunction`(rrrr VARCHAR(50)) RETURNS VARCHAR(255) BEGIN IF(rrrr='online') ...
1、mysql数据库转国产化人大金仓数据库; 2、有些函数在人大金仓数据库中不存在,需要添加自定义函数。
本节主要介绍了MySQL 自定义函数CREATE FUNCTION,下面是示例代码,需要的朋友可以参考下
本文主要给大家介绍的是关于MySQL自定义函数和存储过程的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1、前置条件 MySQL数据库中存在表user_info,其结构和数据如下: mysql> desc...
1.3.1、存储过程的优点:1.3.2、存储过程 与 函数 的区别二、自定义函数 udf(user-defined function )2.1、自定义函数 udf2.2、示例2.2.1、 无参数的自定义函数2.2.2、有参数的自定义函数三、复合结构3.1、语法格式...
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled 错误解决办法 原创文章 1获赞 1访问量 11 关注 私信 展开阅读全文
本篇文章是对mysql创建自定义函数与存储过程进行了详细的分析介绍,需要的朋友参考下
主要介绍了mysql存储过程之返回多个值的方法,结合实例形式分析了mysql存储过程返回多个值的实现方法与PHP调用技巧,需要的朋友可以参考下