mysql存储过程

原创 2018年04月17日 15:27:15

 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存储过程
举报原因:
原因补充:

(最多只允许输入30个字)