MySQL 内置函数&自定义函数

内置函数库

  • 字符函数
  • 日期时间函数
  • 信息函数
  • 聚合函数
  • 加密函数

字符函数

  • CONCAT() #字符连接
  • CONCAT_WS() #指定的分隔符进行连接
  • FORMAT() #数字格式化
  • LOWER() #转换为小写字母
  • UPPER() #转换为大写字母
  • LEFT() #获取左侧字符
  • RIGHT() #获取右侧字符
  • LENGTH() #获取字符串长度
  • LTRIM() #删除前导空格
  • RTRIM() #删除后续空格
  • TRIM() #删除前后空格
  • SUBSTRING() #字符串截取
  • [NOT] LIKE #模式匹配
  • REPLACE() #字符串替换

数值运算符

  • CEIL() #进一取整
  • DIV #整数除法
  • FLOOR() #舍一取整
  • MOD #取余数
  • POWER() #幂运算
  • ROUND() #四舍五入
  • TRUNCATE() #数字截取

比较运算符

  • [NOT] BETWEEN... AND ... #[不] 在范围之内
  • [NOT] IN() #[不] 在列出值范围内
  • IS [NOT] NULL #[不] 为空

日期时间函数

  • NOW() #当前日期时间
  • CURDATE() #当前日期
  • CURTIME() #当前时间
  • DATE_ADD() #日期变化
  • DATEDIEF() #日期差值
  • DATE_FORMAT() #日期格式化

信息函数

  • CONNECTION_ID() #连接ID
  • DATABASE() #当前数据库
  • LAST_INSERT_ID() #最后插入记录的ID号
  • USER() #当前用户
  • VERSION() #版本信息

聚合函数(只有一个返回值)

  • AVG() #平均值
  • COUNT() #计数
  • MAX() #最大值
  • MIN() #最小值
  • SUM() #求和

加密函数

  • MD5() #信息摘要算法
  • PASSWORD() #密码算法

自定义函数

用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同。

语句结构

CREATE FUNCTION function_name

RETURNS

{STRING|INTEGER|REAL|DECIMAL}

routine_body

函数体(routine_body)

  • 由合法的SQL语句构成
  • 可以是简单的SELECT或INSERT语句
  • 复合结构则使用BEGIN...END语句
  • 复合结构可以包含声明,循环,控制结构

特性

  • 参数
  • 返回值
  • 参数,返回值类型可以任意

创建函数

//简单无参函数

CREATE FUNCTION f1() RETURNS VARCHAR(30)

RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');

//调用无参函数

SELECT f1();

//带参数函数

CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED)

RETURNS FLOAT(10,2) UNSIGNED

RETURN (num1+num2)/2;

//调用带参参数

SELECT f1(10,2);

//创建复合结构函数体

CREATE FUNCTIONS adduser(username VARCHAR(20))

RETURNS INT UNSIGNED

BEGIN

INSERT test(username) VALUES(username);

RETURN RETURN LAST_INSERT_ID();

END

//

//调用复合结构函数

SELECT adduser('max');

删除函数

DROP FUNCTION [IF EXISTS] function_name;

//删除f2();

DORP FUNCTION f2;

猜你喜欢

转载自blog.csdn.net/weixin_38500325/article/details/81479005