【Mysql】自定义函数:实现oracle instr() 函数功能
来源:互联网 发布:平舆在线软件下载 编辑:程序博客网 时间:2024/06/18 03:20
DELIMITER $$ USE `bzmtestenv`$$ -- localDBDROP FUNCTION IF EXISTS `func_instr_oracle`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `func_instr_oracle`( f_str VARCHAR(1000), -- Parameter 1 f_substr VARCHAR(100), -- Parameter 2 f_str_pos INT, -- Postion f_count INT UNSIGNED -- Times ) RETURNS INT(10) UNSIGNED BEGIN -- Created by ytt. Simulating Oracle instr function. -- Date 2015/12/5. DECLARE i INT DEFAULT 0; -- Postion iterator DECLARE j INT DEFAULT 0; -- Times compare. DECLARE v_substr_len INT UNSIGNED DEFAULT 0; -- Length for Parameter 1. DECLARE v_str_len INT UNSIGNED DEFAULT 0; -- Length for Parameter 2. SET v_str_len = LENGTH(f_str); SET v_substr_len = LENGTH(f_substr); -- Unsigned. IF f_str_pos > 0 THEN SET i = f_str_pos; SET j = 0; WHILE i <= v_str_len DO IF INSTR(LEFT(SUBSTR(f_str,i),v_substr_len),f_substr) > 0 THEN SET j = j + 1; IF j = f_count THEN RETURN i; END IF; END IF; SET i = i + 1; END WHILE; -- Signed. ELSEIF f_str_pos <0 THEN SET i = v_str_len + f_str_pos+1; SET j = 0; WHILE i <= v_str_len AND i > 0 DO IF INSTR(RIGHT(SUBSTR(f_str,1,i),v_substr_len),f_substr) > 0 THEN SET j = j + 1; IF j = f_count THEN RETURN i - v_substr_len + 1; END IF; END IF; SET i = i - 1; END WHILE; -- Equal to 0. ELSE RETURN 0; END IF; RETURN 0; END$$ DELIMITER ;
0 0
- 【Mysql】自定义函数:实现oracle instr() 函数功能
- Oracle 的INSTR函数MySQL实现
- Oracle instr函数
- oracle中instr函数
- Oracle的instr函数
- oracle中instr函数
- Oracle的instr函数
- oracle instr函数
- Oracle instr函数
- Oracle函数--INSTR
- Oracle的instr函数
- oracle函数INSTR用法
- Oracle的instr函数
- Oracle的instr函数
- Oracle instr函数
- Oracle instr函数
- Oracle instr函数
- Oracle instr函数
- ESP32的资料下载页面
- 如何选择开源许可证?
- 第四周项目一 点阵名字
- 大型螺旋CT空间分辨率(线对)
- 电脑经验 使用cmd中的ipconfig 或者 ipconfig -all
- 【Mysql】自定义函数:实现oracle instr() 函数功能
- 用vue实现模态框组件
- swift3版的iOS计算器
- 一道在知乎很火的 Java 题——如何输出 ab
- Objective-C-iOS常用小控件(UIActionSheet )动作列表
- 数据结构中关于二叉树的使用
- 获取主机+端口
- Web前端面试指导(八):iframe有那些缺点
- widows Sftp 基础命令运用