提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 三、函数
- 3.1 字符串函数
- 3.2 数值函数
- 3.3 日期函数
- 3.4 流程函数
三、函数
- 函数是指一段可以直接被另一段程序调用的程序或代码。
3.1 字符串函数
MySQL中内置了很多字符串函数,常用的几个如下:
select 函数(参数);
-- 字符串拼接
select concat('Hello',' World!');
-- 字符串转小写
select lower('Hello');
-- 字符串转大写
select upper('Hello');
-- 左填充
select lpad('22061104',10,'-');
-- 右填充
select rpad('22061104',10,'-');
-- 去掉首尾空格
select trim(' Hello World! ');
-- 截取字符串
select substring('Hello World!',1,5);
3.2 数值函数
常见的数值函数如下:
-- 向上取整
select ceil(1.6);
-- 向下取整
select floor(1.6);
-- 取余
select mod(2,3);
-- 返回0-1的随机数
select rand();
-- 四舍五入
select round(1.23467,3);
-- 生成随机的6位数验证码
select lpad(round(rand()*1000000,0),6,'0');
3.3 日期函数
常见的日期函数如下:
-- 返回当前日期
select curdate();
-- 返回当前时间
select curtime();
-- 返回当前日期和时间
select now();
-- 获取指定的年月日
select year('2023.1.31');
select month('2023.1.31');
select day('2023.1.31');
-- 两个时间的天数差
select datediff('2024.1.31','2023.1.31');
-- 在一个时间上加一个固定间隔
select date_add('2024.1.31',interval 70 day );
3.4 流程函数
流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。
-- if
select if(true,'OK','Error');
-- ifnull
select ifnull(null,'Error');
-- case when then else end;
select
hero_name,
(case hero_origin when '德玛西亚' then '美丽城邦' when '艾欧尼亚' then '美丽城邦' when '诺克萨斯' then '帝国' else '一般城邦' end) as '城邦'
from test;