MySql有很多函数,以下列出了常用的函数的用法
数字函数
函数名 | 描述 |
---|---|
ABS(x) | 返回 x 的绝对值 |
AVG(expression) | 返回一个表达式的平均值,expression 是一个字段 |
CEIL(x) | 返回大于或等于 x 的最小整数 |
CEILING(x) | 返回大于或等于 x 的最小整数 |
ABS(x) | 返回 x 的绝对值 |
COUNT(expression) | 返回查询的记录总数,expression 参数是一个字段或者 * 号 |
FLOOR(x) | 返回小于或等于 x 的最大整数 |
MAX(expression) | 返回字段 expression 中的最大值 |
MIN(expression) | 返回字段 expression 中的最小值 |
MOD(x,y) | 返返回 x 除以 y 以后的余数 |
SUM(expression) | 返回指定字段的总和 |
ROUND(x) | 返回离 x 最近的整数 |
TRUNCATE(x,y) | 返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入) |
日期函数
函数名 | 描述 |
---|---|
ADDDATE(d,n) | 计算起始日期 d 加上 n 天的日期 |
ADDTIME(t,n) | 时间 t 加上 n 秒的时间 |
CURDATE() / CURRENT_DATE() | 返回当前日期 |
CURRENT_TIME | 返回当前时间 |
DATE() | 从日期或日期时间表达式中提取日期值 |
DATEDIFF(d1,d2) | 计算日期 d1->d2 之间相隔的天数 |
DATE_ADD(d,INTERVAL expr type) | 计算起始日期 d 加上一个时间段后的日期 |
DAY(d) | 返回日期值 d 的日期部分 |
DAYNAME(d) | 返回日期 d 是星期几,如 Monday,Tuesday |
DAYOFMONTH(d) | 计算日期 d 是本月的第几天 |
DAYOFWEEK(d) | 日期 d 今天是星期几,1 星期日,2 星期一,以此类推 |
DAYOFYEAR(d) | 计算日期 d 是本年的第几天 |
FROM_DAYS(n) | 计算从 0000 年 1 月 1 日开始 n 天后的日期 |
LAST_DAY(d) | 返回给给定日期的那一月份的最后一天 |
MONTHNAME(d) | 返回日期当中的月份名称,如 November |
MONTH(d) | 返回日期d中的月份值,1 到 12 |
WEEK(d) | 计算日期 d 是本年的第几个星期,范围是 0 到 53 |
WEEKDAY(d) | 日期 d 是星期几,0 表示星期一,1 表示星期二 |
YEAR(d) | 返回年份 |
YEARWEEK(date, mode) | 返回年份及第几周(0到53),mode 中 0 表示周天,1表示周一,以此类推 |
字符串函数
函数名 | 描述 |
---|---|
CHAR_LENGTH(s) | 返回字符串 s 的字符数 |
CHARACTER_LENGTH(s) | 返回字符串 s 的字符数 |
CONCAT(s1,s2…sn) | 字符串 s1,s2 等多个字符串合并为一个字符串 |
CONCAT_WS(x, s1,s2…sn) | 同 CONCAT(s1,s2,…) 函数,但是每个字符串之间要加上 x,x 可以是分隔符 |
FIELD(s,s1,s2…) | 返回第一个字符串 s 在字符串列表(s1,s2…)中的位置 |
FIND_IN_SET(s1,s2) | 返回在字符串s2中与s1匹配的字符串的位置 |
LCASE(s) | 将字符串 s 的所有字母变成小写字母 |
LEFT(s,n) | 返回字符串 s 的前 n 个字符 |
MID(s,n,len) | 从字符串 s 的 n 位置截取长度为 len 的子字符串 |
REPEAT(s,n) | 将字符串 s 重复 n 次 |
REPLACE(s,s1,s2) | 将字符串 s2 替代字符串 s 中的字符串 s1 |
REVERSE(s) | 将字符串s的顺序反过来 |
RIGHT(s,n) | 返回字符串 s 的后 n 个字符 |
TRIM(s) | 去掉字符串 s 开始和结尾处的空格 |
UCASE(s) | 将字符串转换为大写 |