函数是事先经过编译并存储在数据库中的一段sql语句的集合。
MySQL常用函数有:字符串函数、数值函数、日期和时间函数、流程函数以及自定义函数等。
字符串函数
CONCAT(str1,str2,…) 连接字符串
LOWER(str) 转换成小写
UPPER(str) 转换成大写
LENGTH(str) 返回字符串str的长度
TRIM(str) 去掉str字符串前缀和后缀的空格(和length做个试验)
LTRIM(str) 去掉str字符串前缀的空格
RTRIM(str) 去掉str字符串后缀的空格
INSERT(str1,x,y,str2) 将str1值从第x开始至y结束替换成str2
REPLACE(str,from_str,to_str) 将str中的from_str替换为to_str
LPAD(str,len,padstr) 返回str值,并左起由字符串padstr填补len位
mysql> select lpad('server',2,'qq');
+-----------------------+
| lpad('server',2,'qq') |
+-----------------------+
| se |
+-----------------------+
1 row in set (0.27 sec)
mysql> select lpad('server',20,'qq');
+------------------------+
| lpad('server',20,'qq') |
+------------------------+
| qqqqqqqqqqqqqqserver |
+------------------------+
1 row in set (0.00 sec)
RPAD(str,len,padstr) 返回str值,并右起由字符串padstr填补len位
REPEAT(str,len) 将str重复len次
数值函数
ABS(x) 返回绝对值
CEIL(x) 返回大于等于x的最小整数
FLOOR(x) 返回不小等于x的最大整数
MOD(x,y) 返回x/y的模
RAND() 生成0~1之间的随机浮点数
ROUND(x,y) 返回x四舍五入后有y位小数的值
TRUNCATE(x,y) 返回x截断为y位小数的结果
日期函数
CURDATE() 返回当前日期
CURTIME() 返回当前时间
NOW() 返回当前日期和时间
WEEK(date,x) 返回指定日期是一年中的第几周,x=0(默认)按周日为一周的第一天,x=1按周一为一周的第一天
YEAR(date) 返回指定日期的年份
MONTHNAME(date) 返回指定日期的月份名称
DATE_FORMAT(date,fmt) 返回按字符串fmt格式化的date日期
DATE_ADD(date,INTERVAL expr type) 返回一个日期或时间加上一个时间间隔的值
DATEDIFF(expr1,expr2) 返回expr1-expr2之间的天数
流程函数
IF(expr1,expr2,expr3) 如果expr1为TRUE(!=0且!=NULL),则返回expr2的值,否则返回expr3的值
IFNULL(expr1,expr2) 如果expr1不为NULL则返回expr1,否则返回expr2
CASE
WHEN [value1] THEN result1
WHEN [value2] THEN result2
ELSE default
END
如果value1值为TRUE,则优先返回result1值,如果value2值为TRUE,则返回result2值,否则返回default值
更多精彩MySQL内容 请关注我