1. 数学函数
数学函数用于执行一些比较复杂的算术操作。MySQL支持很多的数学函数。若发生错误,所有的数学函数都会返回NULL。
(1)greatest()和least()函数
是数学函数中经常使用的函数,它们的功能是获得一组数中的最大值和最小值。例如:SELECTGREATEST(10,9,128,1),LEAST(1,2,3);
数学函数还可以嵌套使用,例如:
SELECT GREATEST(-2,LEAST(0,3)),LEAST(1,GREATEST(1,2));
注意:MySQL不允许函数名和括号之间有空格。
(2)FLOOR()和CEILING()函数
floor()用于获得小于一个数的最大整数值,ceiling()函数用于获得大于一个数的最小整数值,例如:
SELECT FLOOR(-1.2), CEILING(-1.2),FLOOR(9.9), CEILING(9.9);
结果为:-2,-1,9,10;
(3)ROUND()和TRUNCATE()函数
round()函数用于获得一个数的四舍五入的整数值:
SELECTROUND(5.1),ROUND(25.501),ROUND(9.8);
结果为:5,26,10;
truncate()函数用于把一个数字截取为一个指定小数个数的数字,逗号后面的数字表示指定小数的个数:
SELECT TRUNCATE(1.54578, 2),TRUNCATE(-76.12, 5);
结果为:1.54,-76.12000;
(4)ABS()函数:用来获得一个数的绝对值
(5)sign()函数
返回数字的符号,返回的结果是正数(1)、负数(-1)或者零(0):
SELECT SIGN(-2),SIGN(2),SIGN(0);
结果为:-1,1,0;
(6)sqrt()函数返回一个数的平方根
(7)POW()函数
pow()函数以一个数作为另外一个数的指数,并返回结果:
SELECTPOW(2,2),POW(10, -2),POW(0,3);
结果为:4,0.01,0;
(8)SIN()、COS()、TAN()、ASIN()、ACOS()和ATAN()函数
分别返回一个角度(弧度)的正弦、余弦、正切、反正弦、反余弦和反正切值
如果使用的是角度而不是弧度,可以使用degrees()和radians ()函数进行转换。
(9)BIN()、OTC()和HEX()函数
BIN()、OTC()和HEX()函数分别返回一个数的二进制、八进制和十六进制值,这个值作为字符串返回;
2. 聚合函数
MySQL有一组函数是特意为求和或者对表中的数据进行集中概括而设计的。这一组函数就叫做聚合函数。聚合函数常常用于对一组值进行计算,然后返回单个值。通过把聚合函数(如COUNT和SUM)添加到带有一个GROUPBY子句的SELECT语句块中,数据就可以聚合。聚合意味着是求一个和、平均、频次及子和,而不是单个的值。
3. 字符串函数
因为MySQL
数据库不仅包含数字数据,还包含字符串,因此MySQL有一套为字符串操作而设计的函数。在字符串函数中,包含的字符串必须要用单引号括起。
(1)ASCII()函数
语法格式: ASCII (char)
返回字符表达式最左端字符的ASCII值。参数char的类型为字符型的表达式,返回值为整型。
例: 返回字母A的ASCII码值。SELECTASCII('A'); 结果为:65
(2)CHAR()函数
语法格式: CHAR (x1,x2,x3,…)
将x1、x2……的ASCII码转换为字符,结果组合成一个字符串。参数x1,x2,x3……为介于0~255之间的整数,返回值为字符型。
例: 返回ASCII码值为65、66、67的字符,组成一个字符串。
SELECTCHAR(65,66,67); 结果为:ABC
(3)LEFT和RIGHT函数
语法格式: left | right ( str ,x )
分别返回从字符串str左边和右边开始指定x个字符。
例: SELECT LEFT(课程是什么, 2)
执行结果为:课程;
(4)TRIM、LTRIM 和RTRIM函数(删除)
语法格式: trim | ltrim |rtrim(str)
使用LTRIM和RTRIM分别删除字符串中首(左边)空格和尾(右边)空格,返回值为字符串。参数str为字符型表达式,返回值类型为varchar。TRIM删除字符串首部和尾部的所有空格。
(5)RPAD和LPAD函数(填补)
语法格式: rpad | lpad( str, n, pad)
使用RPAD和LPAD分别用字符串pad对字符串str的右边和左边进行填补直至str中字符数目达到n个,最后返回填补后的字符串。若str中的字符个数大于n,则返回str的前n个字符。
例: 执行如下语句:
SELECT RPAD('中国加油',8, '!'),LPAD('welcome',10, '*');
结果为:中国加油!!!!(共八个),***welcome(共十个);
(6)REPLACE函数
语法格式: replace (str1 , str2 , str3 )
REPLACE函数用于用字符串str3替换str1中所有出现的字符串str2。最后返回替换后的字符串。
例: 执行如下语句:
SELECTREPLACE('Welcome to CHINA','o', 'K');
结果为:WelcKme tK CHINA
(7)CONCAT函数
语法格式: concat(s1,s2,…sn)
CONCAT函数用于连接指定的几个字符串。
例: 执行如下语句:SELECT CONCAT('中国', '加油');
结果为:中国加油
(8)SUBSTRING函数
语法格式: substring (expression , Start, Length )
返回expression中指定的部分数据。参数expression可为字符串、二进制串、text、image字段或表达式。
Start、Length均为整型,前者指定子串的开始位置,后者指定子串的长度(要返回字节数)。如果 expression 是字符类型和二进制类型,则返回值类型与expression的类型相同。如果为text类型,返回的
Start、Length均为整型,前者指定子串的开始位置,后者指定子串的长度(要返回字节数)。如果 expression 是字符类型和二进制类型,则返回值类型与expression的类型相同。如果为text类型,返回的