• mysql 总结二(自定义函数)


    本质:mysql内置函数的一种扩展,本质上与mysql内置函数一样。

    1. 函数必要条件:

        @1:参数(非必备);

        @2:返回值;

    模板

      create  function  function_name

      returns  

      {string|integer|real|decimal}

      routine_body(函数体)

    关于函数体

      (1):函数体由合法的sql语句构成;

      (2):函数体可以是简单的select或insert语句

      (3):函数体如果为复合结构,则使用begin...end语句;

      (4):复合结构可以包含声明,循环,控制结构;

    ------------------------------------------------------我是分割线-------------------------------------------------

    实例:

      返回不带参数的函数:

      CREATE FUNCTION f1() returns VARCHAR(20)

      return NOW();

      返回带参数的函数:

      create FUNCTION ftest1(num1 SMALLINT,num2 SMALLINT)

      RETURNS FLOAT(10,2)
      RETURN (num1+num2)/2;

      创建具有复合结构函数体的自定义函数:

      DELIMITER $$
      DROP FUNCTION IF EXISTS `itcast`.`cost` $$
      CREATE FUNCTION `itcast`.`cutString`(s VARCHAR(255),n INT) RETURNS varchar(255)
      BEGIN
      IF(ISNULL(s)) THEN RETURN '';
      ELSEIF CHAR_LENGTH(s)<n THEN RETURN s;
      ELSEIF CHAR_LENGTH(S)=n THEN RETURN '相等';
      ELSE RETURN CONCAT(LEFT(s,n),'...');
      END IF;
      END $$
      DELIMITER ;

    ---------------------------------------------------------我是分割线------------------------------------------------

    存储过程和自定义函数的区别:

      存储过程实现的功能要复杂些,而函数的针对性更强;

      存储过程可以返回多个值;函数只能有一个返回值;

      存储过程一般独立的来执行;而函数可以作为其它sql语句的组成部分来出现作用等同内置函数)。

    自定义函数实用较少,存储过程实用较多

  • 相关阅读:
    ios9 键盘使uiwindow上移
    UIStackView在UITableviewCell中
    uitableviewcell侧滑删除等
    系统设置
    UIImagePickerController 导航样式调整
    设置frame时,大小在不同型号手机上不同
    storyBoard Reference 的坑
    uitableview 滚回顶部
    swift格式化输出
    UIAlertController
  • 原文地址:https://www.cnblogs.com/zqsky/p/5910805.html
Copyright © 2020-2023  润新知