【mysql基础系列十六】函数

内置函数

http://www.mamicode.com/info-detail-250393.html【感谢分享】

数学函数:这类函数只要用于处理数字。这类函数包括绝对值函数、正弦函数、余弦函数、获取随机数函数等。

字符串函数:这类函数主要用于处理字符串。其中包括字符串连接函数、字符串比较函数、将字符串的字母变成小写或大写字母的函数、获取子串的函数等。

日期和时间函数:这类函数主要用于处理日期和时间。其中包括取当前时间的函数、获取当前日期的函数、返回年份的函数、返回日期的函数等。

流程函数:这类函数主要用于在SQL语句中控制条件选择。其中包括IF语句、CASE语句、WHEN语句等。

系统信息函数:这类函数主要用于获取mysql数据库的系统信息。其中包括获取数据库名的函数、获取当前用户的函数、获取数据库版本的函数等。

加密函数:这类函数主要用于对字符串进行加密解密。其中包括字符串加密函数、字符串解密函数等。

其他函数:包括格式化函数、锁函数等。

自定义函数

函数内部每条指令都是一个独立的个体,需要符合语句定义规范(使用分号结束)。同时mysql遇到分号也是表示,语句结束。这样就会倒是函数不能正常的执行下去。所以mysql提出,可以在定义函数之前,尝试修改临时的语句结束符(常用$$),函数定义完成,在将语句结束符修改为分号。

delimiter 新结束符;

1、函数创建

delimiter $$
create function 函数名(参数名 参数类型) returns 返回值类型  //必须要写返回类型
begin
  函数体
  return 返回值;  //必须要有返回值
end
$$
delimiter ;

当函数体本身只有一条指令(return),那就可以省略begin 和 and。并且可以不用修改语句结束符。



2、查看函数

方式一:通过查看function状态,查看所有函数

show function status \G

方式二:查看函数创建语句

show create function 函数名;

3、调用函数

使用方式等同于内置函数。

select 函数名(实参列表);


4、删除函数

drop function 函数名;

5、注意事项

1、自定义函数属于用户级别,只有在当前客户端对应的数据库中可以使用。

2、可以在不同的数据库下看到对应的函数,但是不可以调用。

3、函数必须规范返回值,那么在函数内部就不能使用select指令,因为select一旦执行,就会得到一个结果(result set)。

但是 select 字段 into @变量名;(唯一可用形式)

猜你喜欢

转载自blog.csdn.net/pjz161026/article/details/80906034