预定义函数
理解:MySQL提供的函数,直接调用即可
注意1:函数使用select调用
注意2:函数必须有返回值
数学类函数
SELECT ABS(-100);# 获取绝对值
SELECT SQRT(9);# 获取平方根
SELECT MOD(10,3);# 获取余数
SELECT POW(3,3);# 获取次方
SELECT RAND();# 获取随机数(取值范围:0(包含)~1(排他))
字符串类函数
SELECT LENGTH("用良心做教育");# 获取长度(单位:字节)
SELECT CONCAT("用良心做教育","做真实的自己");# 拼接字符串
SELECT SUBSTR("用良心做教育",2,2);# 截取字符串(目标字符串,第几个字符,截取长度)
时间类函数
SELECT NOW();# 获取当前时间
SELECT YEAR(NOW());# 获取年份
SELECT MONTH(NOW());# 获取月份
SELECT DAY(NOW());# 获取日期
SELECT HOUR(NOW());# 获取时
SELECT MINUTE(NOW());# 获取分
SELECT SECOND(NOW());# 获取秒
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日 %H时%i分%s秒');# 格式化日期
自定义函数
需求:传入学生的id,返回学生的姓名
delimiter xx
CREATE FUNCTION fun01(s_id INT) RETURNS VARCHAR(32) DETERMINISTIC
// 函数必须声明返回值类型,8.0+版本必须使用DETERMINISTIC描述BEGINDECLARE s_name VARCHAR(32);# 声明一个变量SELECT name INTO s_name FROM student WHERE id=s_id;# 查询出的name数据赋值给变量s_nameRETURN s_name;# 返回s_name数据END xx
delimiter ;
调用函数
SELECT fun01(2);
删除函数
DROP FUNCTION fun01;