前端学数据库之函数
2018-06-17 23:11:17来源:未知 阅读 ()

前面的话
mysql数据库中的函数根据功能可以划分为字符函数、数值运算符与函数、比较运算符与函数、日期时间函数、信息函数、聚合函数、加密函数以及自定义函数等。下面将详细介绍数据库中的函数
字符函数


CONCAT()
CONCAT()函数用于字符连接

CONCAT()函数也可用于将一个数据表中的两个字段的所有记录进行字符连接

CONCAT_WS()
CONCAT_WS()函数使用指定的分隔符进行字符连接,该函数的第一个参数是指定分隔符

FORMAT()
FORMAT()函数主要用于数字格式化,最终返回一个字符型数字。第一个参数为待格式化的数字,第二个参数为要保留的小数位数

LOWER()
LOWER()函数将字符转换成大写字母
UPPER()
UPPER()函数将字符转换成小写字母

LEFT()
LEFT()函数用于获取左侧字符
RIGHT()
RIGHT()函数用于获取右侧字符

LENGTH()
LENGTH()函数用于获取字符串长度

LTRIM()
LTRIM()函数用于删除前导空格
RTRIM()
RTRIM()函数用于删除后续空格
TRIM()
TRIM()函数用于删除前导和后续空格

REPLACE()
REPLACE()函数用于字符串替换

SUBSTRING()
SUBSTRING()函数用于字符串截取,第一个参数是开始截取的起始位置,第二个参数是截取的字符数目
[注意]这里是从1开始计数的,而不是从0开始的

如果省略第二个参数,则一直截取到字符串的结尾

[NOT] LIKE
[NOT] LIKE用于模式匹配,其中%代表0个或多个字符,_代表任意1个字符。返回1表示匹配,0表示不匹配

数值运算符

CEIL()
CEIL()函数主要用于进一取整(向上取整)

FLOOR()
FLOOR()函数主要用于舍一取整(向下取整)

ROUND()
ROUND()函数主要用于四舍五入,两个参数分别为浮点数和保留的小数位数

DIV
DIV主要用于整数除法

MOD
MOD主要用于取余数(取模),等同于% ,可以是整数也可以是小数

POWER()
POWER()函数主要用于幂运算

TRUNCATE()
TRUNCATE()函数主要用于数字截取,两个参数分别为数值和截断到小数点后n位

比较运算符

[NOT] BETWEEN...AND...
[NOT] BETWEEN...AND...表示[不]在范围之内

[NOT] IN()
[NOT] IN()表示[不]在列出值范围内

IS [NOT] NULL
IS [NOT] NULL表示[不]为空

日期时间

NOW()
NOW()函数返回当前日期和时间

CURDATE()
CURDATE()函数返回当前日期

CURTIME()
CURTIME()函数返回当前时间

DATE_ADD()
DATE_ADD()函数日期变化,可以增加,也可以减少

DATEDIFF()
DATEDIFF()函数日期差值,两个日期的差值

DATE_FORMAT()
DATE_FORMAT()函数进行日期格式化

信息函数
CONNECTION_ID()
CONNECTION_ID()返回连接ID(线程ID)

DATEBASE()
DATEBASE()返回当前数据库名称

LAST_INSERT_ID()
LAST_INSERT_ID()返回最后插入记录的ID,当一次性写入多条记录时,函数返回的ID为第一条记录的ID


USER()
USER()返回当前用户
VERSION()
VERSION()返回版本信息

聚合函数
聚合函数只能用于数据表,不能用于单个数值的计算

下面建立一个test数据表用来测试数据

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

加密函数
MD5()
MD5():信息摘要算法,为以后的Web页面做准备,尽量使用MD5()
PASSWORD()
PASSWORD():密码算法,通过PASSWORD()修改当前用户和其他用户的密码,修改客户端自己的密码

自定义函数
函数可以返回任意类型的值,同样可以接收这些类型的参数。函数参数和返回值之前没有必然的联系
[注意]一个函数最多可以有1024个参数
用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同
自定义函数的两个必要条件:1、参数;2、返回值
创建自定义函数
CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body
关于自定义函数的函数体
1.函数体可以由合法的SQL语句构成;
2.函数体可以是简单的SELECT或INSERT语句;
3.函数体如果为复合结构则使用BEGIN...END语句;
4.复合结构可以包含声明、循环、控制结构。
创建不带参数的自定义函数
CREATE FUNCTION f1() RETURNS VARCHAR(30) RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');

创建带参数的自定义函数
CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED) RETURNS FLOAT(10,2) UNSIGNED RETURN (num1+num2)/2;

[注意]如果自定义函数存在符合结构的多个语句,函数体要包含在BEGIN...END内,同时,需要通过DELIMITER将默认的结束符 ; 修改成其他符号,如:// $$ ,以免函数由于语句结尾的 ; 号导致中断
删除函数
DROP FUNCTION [IF EXISTS] function_name
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP 7.4 新语法:箭头函数 2019-10-08
- 10个非常好用的 Laravel 辅助函数 2019-09-23
- MySQL性能优化的20条经验 2019-09-23
- 一份非常完整的MySQL规范 2019-09-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash