函数可以帮助用户便捷的完成很多事情,因此,MySQL中有很多内置的函数:字符串函数、日期函数、数值函数等
一、字符串函数
字符串函数是最常用的一种函数,以下列出常用的字符串函数,以供参考;
函数 功能
CONCAT(s1,s2...sn) 字符串 s1,s2 等多个字符串合并为一个字符串
INSERT(s1,x,len,s2) 字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串
LOWER(s) 将字符串 s 的所有字母变成小写字母
UPPER(s) 将字符串转换为大写
LEFT(s,n) 返回字符串 s 的前 n 个字符(最左边的n个字符)
RIGHT(s,n) 返回字符串 s 的后 n 个字符(最右边的n个字符)
LPAD(s1,len,s2) 在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len
RPAD(s1,len,s2) 在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len
LTRIM(s) 去掉字符串 s 开始处的空格
RTRIM(s) 去掉字符串 s 结尾处的空格
TRIM(s) 去掉字符串 s 开始和结尾处的空格
REPEAT(s,n) 将字符串 s 重复 n 次
REPLACE(s,s1,s2) 将字符串 s2 替代字符串 s 中的字符串 s1
REVERSE(s) 将字符串s的顺序反过来
STRCMP(s1,s2) 比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
SUBSTRING(s, start, length) 从字符串 s 的 start 位置截取长度为 length 的子字符串
二、数值函数
MySQL中常见的数值函数
序号 函数 功能
1 ABS(x) 返回 x 的绝对值
MOD(x,y) 返回 x 除以 y 以后的余数
SQRT(x) 返回x的平方根
POW(x,y) 返回 x 的 y 次方
EXP(x) 返回 e 的 x 次方
LOG(x) 返回自然对数(以 e 为底的对数)
2 MAX(expression) 返回字段 expression 中的最大值
MIN(expression) 返回字段 expression 中的最小值
SUM(expression) 返回指定字段的总和
COUNT(expression) 返回查询的记录总数,expression 参数是一个字段或者 * 号
AVG(expression) 返回一个表达式的平均值,expression 是一个字段
3 CEIL(x) 返回大于或等于 x 的最小整数
FLOOR(x) 返回小于或等于 x 的最大整数
ROUND(x) 返回离 x 最近的整数
TRUNCATE(x,y) 返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)
4 RAND() 返回 0 到 1 的随机数
三、日期与时间函数
MySQL中常见的日期和时间函数
函数 功能
CURDATE() 返回当前日期
CURTIME() 返回当前时间
NOW() 返回当前日期和时间
UNIX_TIMESTAMP(date) 返回日期date的unix时间戳
FROM_UNIXTIME 返回unix时间戳的日期值
YEAR(date) 返回年份
MONTH(date) 返回日期date中的月份值,1 到 12
MONTHNAME(date) 返回日期当中的月份名称,如 Janyary
WEEK(date) 计算日期 date 是本年的第几个星期,范围是 0 到 53
HOUR(time) 返回 time中的小时值
MINUTE(time) 返回 time 中的分钟值
SECOND(time) 返回 time 中的秒钟值
DATE_FORMAT(date,fmt) 按表达式 fmt的要求显示日期 date
DATE_ADD(date,INTERVAL expr type) 计算起始日期 date 加上一个时间段后的日期
DATEDIFF(date1,date2) 计算日期 date1->date2 之间相隔的天数
四、流程函数
流程函数是很常用的一类函数,用户可以使用这类函数在一个SQL语句中实现条件选择,可提高语句的效率。
MySQL中的流程函数
函数 功能
IF(value,t,f) 如果value是真,返回t;否则返回f
IFNULL(value1,value2) 如果value1不为空,返回value1;否则返回value2
CASE WHEN[value1]THEN[result]…ELSE[default]END 如果value1是真,返回result1;否则返回default
CASE[expr]WHEN[value1]THEN[result]…ELSE[default]END 如果expr等于value1,返回result1;否则返回default
五、其他常用函数
MySQL中的其他常用函数
函数 功能
DATABASE() 返回当前数据库名
VERSION() 返回数据库的版本号
USER() 返回当前用户
INET_ATON(IP) 返回ip地址的数字表达式
INET_NTOA(num) 返回数字代表的ip地址
PASSWORD(str) 返回字符串str的加密版本
MD5 返回字符串的MD5值