MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。
数学函数
(1)ABS(x)
返回x的绝对值
(2)PI()
返回圆周率π,默认显示6位小数
(3)SQRT(x)
返回非负数的x的二次方根
(4)MOD(x,y)
返回x被y除后的余数
(5)CEIL(x)、CEILING(x)
返回不小于x的最小整数
(6)FLOOR(x)
返回不大于x的最大整数
(7)ROUND(x)、ROUND(x,y)
前者返回最接近于x的整数,即对x进行四舍五入;后者返回最接近x的数,其值保留到小数点后面y位,若y为负值,则将保留到x到小数点左边y位
(8)SIGN(x)
返回参数x的符号,-1表示负数,0表示0,1表示正数
(9)POW(x,y)和、POWER(x,y)
返回x的y次乘方的值
(10)EXP(x)
返回e的x乘方后的值
(11)LOG(x)
返回x的自然对数,x相对于基数e的对数
(12)LOG10(x)
返回x的基数为10的对数
(13)RADIANS(x)
返回x由角度转化为弧度的值
(14)DEGREES(x)
返回x由弧度转化为角度的值
(15)SIN(x)、ASIN(x)
前者返回x的正弦,其中x为给定的弧度值;后者返回x的反正弦值,x为正弦
(16)COS(x)、ACOS(x)
前者返回x的余弦,其中x为给定的弧度值;后者返回x的反余弦值,x为余弦
(17)TAN(x)、ATAN(x)
前者返回x的正切,其中x为给定的弧度值;后者返回x的反正切值,x为正切
(18)COT(x)
返回给定弧度值x的余切
字符串函数
(1)CHAR_LENGTH(str)
计算字符串字符个数
(2)CONCAT(s1,s2,...)
返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NULL
(3)CONCAT_WS(x,s1,s2,...)
返回多个字符串拼接之后的字符串,每个字符串之间有一个x
(4)INSERT(s1,x,len,s2)
返回字符串s1,其子字符串起始于位置x,被字符串s2取代len个字符
(5)LOWER(str)和LCASE(str)、UPPER(str)和UCASE(str)
前两者将str中的字母全部转换成小写,后两者将字符串中的字母全部转换成大写
(6)LEFT(s,n)、RIGHT(s,n)
前者返回字符串s从最左边开始的n个字符,后者返回字符串s从最右边开始的n个字符
(7)LPAD(s1,len,s2)、RPAD(s1,len,s2)
前者返回s1,其左边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符;前者返回s1,其右边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符
(8)LTRIM(s)、RTRIM(s)
前者返回字符串s,其左边所有空格被删除;后者返回字符串s,其右边所有空格被删除
(9)TRIM(s)
返回字符串s删除了两边空格之后的字符串
(10)TRIM(s1 FROM s)
删除字符串s两端所有子字符串s1,未指定s1的情况下则默认删除空格
(11)REPEAT(s,n)
返回一个由重复字符串s组成的字符串,字符串s的数目等于n
(12)SPACE(n)
返回一个由n个空格组成的字符串
(13)REPLACE(s,s1,s2)
返回一个字符串,用字符串s2替代字符串s中所有的字符串s1
(14)STRCMP(s1,s2)
若s1和s2中所有的字符串都相同,则返回0;根据当前分类次序,第一个参数小于第二个则返回-1,其他情况返回1
(15)SUBSTRING(s,n,len)、MID(s,n,len)
两个函数作用相同,从字符串s中返回一个第n个字符开始、长度为len的字符串
(16)LOCATE(str1,str)、POSITION(str1 IN str)、INSTR(str,str1)
三个函数作用相同,返回子字符串str1在字符串str中的开始位置(从第几个字符开始)
(17)REVERSE(s)
将字符串s反转
(18)ELT(N,str1,str2,str3,str4,...)
返回第N个字符串
日期和时间函数
(1)CURDATE()、CURRENT_DATE()
将当前日期按照"YYYY-MM-DD"或者"YYYYMMDD"格式的值返回,具体格式根据函数用在字符串或是数字语境中而定
(2)CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE()
这四个函数作用相同,返回当前日期和时间值,格式为"YYYY_MM-DD HH:MM:SS"或"YYYYMMDDHHMMSS",具体格式根据函数用