您当前的位置: 首页 >  sql

星夜孤帆

暂无认证

  • 1浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MySQL学习笔记(24)-函数

星夜孤帆 发布时间:2018-06-12 18:49:59 ,浏览量:1

函数

函数:将一段代码块封装到一个结构中,在需要执行代码块的时候,调用结构执行即可(代码复用)

函数分为两类:系统函数和自定义函数

系统函数

系统定义好的函数,直接调用即可。

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

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

Substring:字符串截取(字符为单位) 

-- 定义两个变量
set @cn = '世界你好';
set @en = 'hello world';
-- 字符串截取
select substring(@cn,1,1);
select substring(@en,1,1);

char_length:字符长度

Length:字节长度

-- 字符串长度
select char_length(@cn),char_length(@en),length(@cn),length(@en);

Instr:判断字符串是否在某个具体的字符串中存在,存在返回位置

-- 字符串寻找
select instr(@cn,'界'), instr(@en,'ll'),instr(@cn,'拜拜');

Lpad:左填充,将字符串按照某个指定的填充方式,填充到指定长度(字符)

-- 字符串填充
select lpad(@cn,20,'欢迎'),lpad(@en,20,'hello');

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

-- 字符串替换
select insert (@en,3,3,'y'),@en;

Strcmp:compare,字符串比较

-- 字符串比较
set @f = 'hello';
set @s = 'hey';
set @t = 'HEY';
select strcmp(@f,@s),strcmp(@s,@t),strcmp(@s,@f);

自定义函数

函数要素:函数名,参数列表(形参和实参),返回值,函数体(作用域)

创建函数

Create function 函数名([形参列表]) return 数据类型 -- 规定要返回的数据类型

Begin

    -- 函数体

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

  End

定义函数

-- 创建函数
create function display() returns int
return 100;

自定义函数与系统函数的调用方式一样:select 函数名([实参列表]);

-- 调用函数
select display();

查看函数

查看所有函数:show function status[like 'pattern'];

-- 查看所有函数
show function status\G

查看函数的创建语句:show create function 函数名;

-- 查看函数创建语句
show create function display\G

修改函数&删除函数

函数只能先删除后新增,不能修改。

Drop function 函数名;

-- 删除函数
drop function display;
show function status\G

函数参数

参数分为两种:定义时的参数叫形参,调用时的参数叫实参(实参可以是数值也可以是变量)

形参:要求必须指定数据类型

Function函数名(形参名字 字段类型)returns 数据类型

-- 做函数:计算1-指定数之间的和
delimiter $$
create function display1(int_1 int) returns int
begin
 -- 定义条件变量
 set @i = 1;  -- @定义的变量是全局变量,没有的可以理解为局部变量
 set @res = 0;  -- 保存结果
 -- 循环求和
 while @i             
关注
打赏
1636984416
查看更多评论
0.0422s