09、MySQL函数

函数

 

函数的概念:

将一段代码封装到一个结构中,在需要执行代码的时候,调用结构代码来执行(代码复用)

函数的分类:

系统函数和自定义函数

 

系统函数

概念:

系统预先定义好的函数,我们可以直接调用

任何函数都是有返回值的,因此函数的调用是通过select 调用的

Mysql中的字符串的基本操作基本是以字符为单位(最常见的是字符)

Substring:

字符串截取(以字符为单位)

这就说明了mysql中的字符串下标是从1还是,而且字符串的截取是以字符为单位

Char_length :

字符长度

Length :

字节长度

Instr

Lpad:

左填充,将字符串按照某种指定的填充方式,填充到指定长度(字符单位)

Insert

替换数据:找到目标位置指定长度的字符串,替换目标字符串

Strcmp:

字符串比较大小(不区分大小写,主要是校对集,默认校对集不区分大小写)

 

自定义函数

函数要素:

函数名、参数列表、返回值、函数体

函数的创建:

创建语法:

Create function 函数名(形参列表)retruns 数据类型;

Begin

--函数体

--返回值 : return 类型(指定数据类型);

End

  1. 自定义函数与系统函数的调用是一样的:select 函数名(实参列表);

查看函数

查看所有函数

Show function status;

我们会发现,函数是属于某个数据库的而不是宏定义的。

查看函数创建语句:

Show create function 函数名;

删除函数

基本语法:drop function 函数名;

函数的参数

分类:

  • 定义时的参数叫做形参,要求必须指定数据类型;
  • 调用时的参数叫做实参(实参可以是数值也可以是变量);

作用域:

概念:msql中的作用域跟js中的作用域完全一致

全局变量:可以在任何地方使用,局部变量只能在函数的内部使用,用set关键字定义,使用@符号标志

局部变量:定义在函数内部的变量使用declare关键字声明,没有@符号:所有的局部变量声明只能在函数内部进行声明,而且必须在函数体开始之前。

 

需求:指定数值相加,但是排除5的倍数

值得注意的是:当我们的返回值跟实际定义的返回值不匹配的时候,在编译的阶段是不会报错的,但是在实际的执行阶段的时候就会提示错误

猜你喜欢

转载自blog.csdn.net/qq_33349750/article/details/75331487