SET GLOBAL log_bin_trust_function_creators = 1;
DELIMITER //
CREATE FUNCTION `algo`(f1 text, f2 text) RETURNS DECIMAL(38,20)
COMMENT '计算人脸特征'
BEGIN
DECLARE return_val DECIMAL(38,20) DEFAULT 0;
declare i int default 1;
declare v1 DECIMAL(38,20) default 0.0;
declare v2 DECIMAL(38,20) default 0.0;
while i < 1024 do
set v1 = cast(SPLIT_STR(replace(replace(f1,'[',''),']','') ,',',i) as DECIMAL(38,20) );
set v2 = cast(SPLIT_STR(replace(replace(f2,'[',''),']','') ,',',i) as DECIMAL(38,20) );
set return_val = return_val + v1 * v2;
set i =i+1 ;
end while;
return return_val;
end ;
//
CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(25)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
mysql存储过程
最新推荐文章于 2021-01-19 11:46:29 发布