Mysql函数

1.2点之间的距离

DELIMITER $$

USE `db`$$

DROP FUNCTION IF EXISTS `distance2point`$$

CREATE DEFINER=`root`@`localhost` FUNCTION `distance2point`(`lng1` DOUBLE ,`lat1` DOUBLE ,`lng2` DOUBLE ,`lat2` DOUBLE) RETURNS DOUBLE
BEGIN
	
RETURN 2 * 6378137*ASIN(SQRT(POW(SIN(PI()*(lat1-(lat2))/360),2)+ COS(PI()*lat1/180)*COS(lat2*PI()/180)*POW(SIN(PI()*(lng1-(lng2))/360),2)));
END$$

DELIMITER ;

 

2.自动生成uuid

DELIMITER $$

USE `db`$$

DROP FUNCTION IF EXISTS `MYUUID`$$

CREATE DEFINER=`root`@`localhost` FUNCTION `myuuid`() RETURNS CHAR(36) CHARSET utf8
BEGIN
DECLARE my_uuid CHAR(36);   
SET my_uuid = UUID();  
RETURN REPLACE(my_uuid,'-','_');   
END$$

DELIMITER ;

 总结:使用DELIMITER定义结束字符$$,因为sql语句中使用了分号符;,所以定义use,drop,end等语句的时候,也需要结束符号。所以用DELIMITER定义结束字符。

你可能感兴趣的:(Mysql函数)