MySQL函数
2016-04-18 17:29
651 查看
函数是事先经过编译并存储在数据库中的一段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精彩内容,请关注我
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精彩内容,请关注我
相关文章推荐
- MySQL——修改root密码的4种方法(以windows为例)
- mysql批量写入
- 【小镇的技术天梯】lanmp服务器集群搭建(5)haproxy给mysql节点负载均衡
- MySQL权限及备份还原
- 那些年,在MySQL上遇到的坑
- ubuntu卸载及安装mysql
- MySQL5.7.9免安装版配置方法
- mysql数据库在Navicat Premium连接的时候出现1862错误
- mysql max_allowed_packet查询和修改
- 使用JMeter创建数据库(Mysql)测试
- MySQL存储过程
- MySQL 增删查改
- Mysql中怎么获取当前系统时间
- MySQL学习笔记(二):MySQL数据类型汇总及选择参考
- mysql多实例配置
- kettle乱码问题解决记录
- mysql 数据库学习笔记 3 外键 和 select 子查询
- MySQL利用临时表存储和操作数据
- 安装、设置与启动MySql绿色版的方法
- MySQL