本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。
mysql函数的作用是什么
函数的作用:
函数是用来实现某些功能运算和完成各种特定操作的重要手段。
(相关资料图)
优点:
允许标准组件式编程,提高了SQL语句的重用性、共享性和可移植性。
可以减少重复编写程序段的工作量,提高程序可读性。
提高程序编译和运行效率,产生质量较高的目标代码,满足算法设计的“正确性、可读性、健壮性、效率与低存储量需求”的基本要求。
能够实现较快的执行速度,能够减少网络流量
扩展知识
MySQL数据库中提供了很丰富的函数,比如我们常用的聚合函数,日期及字符串处理函数等。SELECT语句及其条件表达式都可以使用这些函数,函数可以帮助用户更加方便的处理表中的数据,使MySQL数据库的功能更加强大。本篇文章主要为大家介绍几类常用函数的用法。
1.聚合函数
聚合函数是平时比较常用的一类函数,这里列举如下:
COUNT(col) 统计查询结果的行数
MIN(col) 查询指定列的最小值
MAX(col) 查询指定列的最大值
SUM(col) 求和,返回指定列的总和
AVG(col) 求平均值,返回指定列数据的平均值
2.数值型函数
数值型函数主要是对数值型数据进行处理,得到我们想要的结果,常用的几个列举如下,具体使用方法大家可以试试看。
ABS(x) 返回x的绝对值
BIN(x) 返回x的二进制
CEILING(x) 返回大于x的最小整数值
EXP(x) 返回值e(自然对数的底)的x次方
FLOOR(x) 返回小于x的最大整数值
GREATEST(x1,x2,...,xn) 返回集合中最大的值
LEAST(x1,x2,...,xn) 返回集合中最小的值
LN(x) 返回x的自然对数
LOG(x,y) 返回x的以y为底的对数
MOD(x,y) 返回x/y的模(余数)
PI() 返回pi的值(圆周率)
RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值
ROUND(x,y) 返回参数x的四舍五入的有y位小数的值
TRUNCATE(x,y) 返回数字x截短为y位小数的结果
一些示例:
# ABS()函数求绝对值mysql> SELECT ABS(5),ABS(-2.4),ABS(-24),ABS(0);+--------+-----------+----------+--------+| ABS(5) | ABS(-2.4) | ABS(-24) | ABS(0) |+--------+-----------+----------+--------+| 5 | 2.4 | 24 | 0 |+--------+-----------+----------+--------+# 取整函数 CEIL(x) 和 CEILING(x) 的意义相同,返回不小于 x 的最小整数值mysql> SELECT CEIL(-2.5),CEILING(2.5);+------------+--------------+| CEIL(-2.5) | CEILING(2.5) |+------------+--------------+| -2 | 3 |+------------+--------------+# 求余函数 MOD(x,y) 返回 x 被 y 除后的余数mysql> SELECT MOD(63,8),MOD(120,10),MOD(15.5,3);+-----------+-------------+-------------+| MOD(63,8) | MOD(120,10) | MOD(15.5,3) |+-----------+-------------+-------------+| 7 | 0 | 0.5 |+-----------+-------------+-------------+# RAND() 函数被调用时,可以产生一个在 0 和 1 之间的随机数mysql> SELECT RAND(), RAND(), RAND();+---------------------+--------------------+----------------------+| RAND() | RAND() | RAND() |+---------------------+--------------------+----------------------+| 0.24996517063115273 | 0.9559759106077029 | 0.029984071878701515 |+---------------------+--------------------+----------------------+
3.字符串函数
字符串函数可以对字符串类型数据进行处理,在程序应用中用处还是比较大的,同样这里列举几个常用的如下:
LENGTH(s) 计算字符串长度函数,返回字符串的字节长度
CONCAT(s1,s2...,sn) 合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个
INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
LOWER(str) 将字符串中的字母转换为小写
UPPER(str) 将字符串中的字母转换为大写
LEFT(str,x) 返回字符串str中最左边的x个字符
RIGHT(str,x) 返回字符串str中最右边的x个字符
TRIM(str) 删除字符串左右两侧的空格
REPLACE 字符串替换函数,返回替换后的新字符串
SUBSTRING 截取字符串,返回从指定位置开始的指定长度的字符换
REVERSE(str) 返回颠倒字符串str的结果
一些示例:
# LENGTH(str) 函数的返回值为字符串的字节长度mysql> SELECT LENGTH("name"),LENGTH("数据库");+----------------+---------------------+| LENGTH("name") | LENGTH("数据库") |+----------------+---------------------+| 4 | 9 |+----------------+---------------------+# CONCAT(sl,s2,...) 函数返回结果为连接参数产生的字符串 若有任何一个参数为 NULL,则返回值为 NULLmysql> SELECT CONCAT("MySQL","5.7"),CONCAT("MySQL",NULL);+-----------------------+----------------------+| CONCAT("MySQL","5.7") | CONCAT("MySQL",NULL) |+-----------------------+----------------------+| MySQL5.7 | NULL |+-----------------------+----------------------+# INSERT(s1,x,len,s2) 返回字符串 s1,子字符串起始于 x 位置,并且用 len 个字符长的字符串代替 s2mysql> SELECT INSERT("Football",2,4,"Play") AS col1,-> INSERT("Football",-1,4,"Play") AS col2,-> INSERT("Football",3,20,"Play") AS col3;+----------+----------+--------+| col1 | col2 | col3 |+----------+----------+--------+| FPlayall | Football | FoPlay |+----------+----------+--------+# UPPER,LOWER是大小写转换函数mysql> SELECT LOWER("BLUE"),LOWER("Blue"),UPPER("green"),UPPER("Green");+---------------+---------------+----------------+----------------+| LOWER("BLUE") | LOWER("Blue") | UPPER("green") | UPPER("Green") |+---------------+---------------+----------------+----------------+| blue | blue | GREEN | GREEN |+---------------+---------------+----------------+----------------+# LEFT,RIGHT是截取左边或右边字符串函数mysql> SELECT LEFT("MySQL",2),RIGHT("MySQL",3);+-----------------+------------------+| LEFT("MySQL",2) | RIGHT("MySQL",3) |+-----------------+------------------+| My | SQL |+-----------------+------------------+# REPLACE(s,s1,s2) 使用字符串 s2 替换字符串 s 中所有的字符串 s1mysql> SELECT REPLACE("aaa.mysql.com","a","w");+----------------------------------+| REPLACE("aaa.mysql.com","a","w") |+----------------------------------+| www.mysql.com |+----------------------------------+# 函数 SUBSTRING(s,n,len) 带有 len 参数的格式,从字符串 s 返回一个长度同 len 字符相同的子字符串,起始于位置 nmysql> SELECT SUBSTRING("computer",3) AS col1,-> SUBSTRING("computer",3,4) AS col2,-> SUBSTRING("computer",-3) AS col3,-> SUBSTRING("computer",-5,3) AS col4;+--------+------+------+------+| col1 | col2 | col3 | col4 |+--------+------+------+------+| mputer | mput | ter | put |+--------+------+------+------+
推荐学习:mysql视频教程
以上就是mysql函数的作用是什么的详细内容,更多请关注php中文网其它相关文章!