MySQL数据库|习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制
文章目录
-
- 一、字符函数
- 二、数学函数
- 三、日期函数
- 四、其他函数
- 五、流程控制函数
一、字符函数
文章图片
1、大小写控制函数
①
UPPER()
:转换成大写SELECT UPPER('Hello');
文章图片
②
LOWER()
:转换成小写SELECT LOWER('Hello');
文章图片
2、字符控制函数
①
LENGTH()
:获取参数值的字节个数SELECT LENGTH('叶绿体不忘呼吸aaaa');
文章图片
②
CONCAT()
:拼接字符串SELECT CONCAT('Hello','世界') AS result;
文章图片
③
SUBSTR()
:截取(MySQL里索引是从1开始的,而不是0)#从第4个开始截取,截取后面全部
SELECT SUBSTR('我相信光',4);
文章图片
#从第1个开始截取,截取3个
SELECT SUBSTR('我相信光',1,3);
文章图片
④
INSTR()
:返回子串在主串中第一次出现的索引,如果不存在,则返回0SELECT INSTR('国足10月13日客战沙特','沙特') AS result;
文章图片
⑤
TRIM()
:去除字符串前后某字符SELECT TRIM('a' FROM 'aaaaa叶aa绿体aaaaa') AS result;
文章图片
#去空格
SELECT TRIM('叶aa绿体a') AS result;
文章图片
⑥
LPAD()
:用指定的字符左填充指定长度,RPAD()
则是右填充SELECT LPAD('叶绿体',9,'a') AS result;
文章图片
⑦
REPLACE()
:替换SELECT REPLACE('a叶aaa绿体aaaa','a','B') AS result;
文章图片
二、数学函数 ①
ROUND()
:四舍五入#默认保留一位小数
SELECT ROUND(1.62) AS result;
文章图片
#保留两位小数
SELECT ROUND(1.627,2) AS result;
文章图片
②
CEIL()
:向上取整,返回大于等于该数的最小整数SELECT CEIL(1.002) AS result;
文章图片
③
FLOOR()
:向下取整,返回小于等于该数的最大整数SELECT FLOOR(1.002) AS result;
文章图片
④
TRUNCATE()
:截断SELECT TRUNCATE(1.699,1) AS result;
文章图片
⑤
MOD()
:取余,等价于%
SELECT MOD(10,-3) AS result;
文章图片
三、日期函数
文章图片
①NOW():返回当前系统的日期和时间
SELECT NOW();
【MySQL数据库|习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制】
文章图片
②CURDATE():返回当前系统日期,不包含时间
SELECT CURDATE();
文章图片
③CURTIME():返回当前系统时间,不包括日期
SELECT CURTIME();
文章图片
⑦
YREAR()
:获取指定日期字段的年SELECT YEAR(NOW());
文章图片
SELECT YEAR('2021-09-30') AS result;
文章图片
⑧
MONTH()
:获取指定日期字段的月,MONTHNAME()
则可以返回月份英文SELECT MONTH('2021-09-30') AS result;
文章图片
SELECT MONTHNAME('2021-09-30') AS result;
文章图片
日,小时,分钟,秒钟都可以同上
⑨
STR_TO_DATE()
:将字符按照指定的格式转为日期#相当于是解析:两个参数格式要匹配
SELECT STR_TO_DATE('9-30 2021','%m-%d %Y') AS result;
文章图片
⑩
DATE_FORMAT()
:将日期转换成字符#相当于是格式化
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日') AS result;
文章图片
四、其他函数
#查看版本
SELECT VERSION();
#查看数据库
SELECT DATABASE();
#查看用户
SELECT USER();
五、流程控制函数 ①
IF()
:判断,第一个参数是条件,第二个是true的返回,第三个是false的返回SELECT IF(10>5,'大','小') AS result;
文章图片
②
CASE()
使用一:类似于Java中switchCASE 要判断的
WHEN 常量1 THEN 语句1;
或者要显示的值1
...
ELSE 语句;
或者要显示的值
END
示例
#示例为要显示的值,不加‘;
’
SELECT `last_name`,`salary`,`department_id`,
CASE `department_id`
WHEN 100 THEN `salary`*(1+0.8)
WHEN 90 THEN `salary`*(1+0.6)
WHEN 80 THEN `salary`*(1+0.4)
WHEN 70 THEN `salary`*(1+0.2)
ELSE `salary`
END AS 最终工资
FROM employees;
③
CASE()
使用一:类似于Java中多重ifCASE
WHEN 条件1 THEN SELECT 语句1;
或者要显示的值1
...
ELSE 语句;
或者要显示的值
END
示例
#示例为要显示的值,不加‘;
’
SELECT `last_name`,`salary`,
CASE
WHEN `salary`>20000 THEN 'A级别'
WHEN `salary`>15000 THEN 'B级别'
WHEN `salary`>10000 THEN 'C级别'
ELSE 'D级别'
END AS 等级
FROM employees;
文章图片
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 数据库设计与优化
- 数据库总结语句
- py连接mysql
- 2019-01-18Mysql中主机名的问题
- MySql数据库备份与恢复
- mysql|InnoDB数据页结构
- 数据库|SQL行转列方式优化查询性能实践
- mysql中视图事务索引与权限管理
- MYSQL主从同步的实现