Mysql中的函数

什么是函数

mysql中的函数与存储过程类似,都是一组SQL集;

与存储过程的区别

函数可以return值,存储过程不能直接return,但是有输出参数可以输出多个返回值;

函数可以嵌入到sql语句中使用,而存储过程不能;

函数一般用于实现较简单的有针对性的功能(如求绝对值、返回当前时间等),存储过程用于实现复杂的功能(如复杂的业务逻辑功能);

mysql自带函数

mysql本身已经实现了一些常见的函数,如数学函数、字符串函数、日期和时间函数等等,不一一列举,这里简单的使用下几个函数:

求绝对值ABS:

求ASCII:

时间相关(NOW、CURRENT_DATE、CURRENT_TIME):

自定义函数

自定义个函数,判断输入参数是否大于等于10:

复制代码
-- ----------------------------
-- Function structure for `func_compare`
-- ----------------------------
DROP FUNCTION IF EXISTS `func_compare`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `func_compare`(a int) RETURNS varchar(200) CHARSET utf8
BEGIN
    #Routine body goes here...
  IF a >= 10 THEN
        RETURN '大于等于10';
  ELSE
      RETURN '小于10';
  END IF;
END
;;
DELIMITER ;
复制代码

验证函数:

SELECT func_compare(9), func_compare(11)

执行结果:

posted @ 2017-12-07 10:55  付恒  阅读(186)  评论(0编辑  收藏  举报