MySQL-基础-函数

1. 字符串函数

image-20230331231723580

1.1 concat

1
select concat('Hello','MySQL');

1.2 lower

1
select lower('Hello!');

1.3 uppper

1
select upper('Hello!');

1.4 lpad

1
2
#中间5的意思是:从左到右填充到5个字符
select lpad('01',5,'-');

1.5 rpad

1
2
#中间5的意思是:从右到左填充到5个字符
select rpad('01',5,'-');

1.6 trim

1
2
select trim('  Hello  MySQL  ');
#输出结果:Hello MySQL 只去除头尾,中间不去除

1.7 substring

1
2
3
4
#“1”代表的是:从第一个字符开始截取
#“5”代表的是:截取五个
select substring('Hello MySQL',1,5);
#输出结果:Hello

2. 数值函数

image-20230331234959858

2.1 ceil

1
2
select ceil(1.5);
#输出结果:2

2.2 floor

1
2
select floor(2.7);
#输出结果:2

2.3 mod

1
2
3
select mod(3,4);
#输出结果:3
#相当于是 3 除以 4 ,余数为3

2.4 rand

1
select rand();

2.5 round

1
2
3
4
select round(4.7657,2);
#输出结果:4.77
#第一个数是想被四舍五入的数
#第二个是想保留多少位小数

3. 日期函数

image-20230401000434109

3.1 curdate

1
select curdate();

3.2 curtime

1
select curtime();

3.3 now

1
select now();

3.4 YEAR/MONTH/DAY

1
2
3
select YEAR(now());
select MONTH(now());
select DAY(now());

3.5 day_add

1
2
3
4
5
#INTERVAL 代表向后推多久
select date_add(now(),INTERVAL 70 DAY);
#举一反三,我们也可以
select date_add(now(),INTERVAL 70 MONTH);
select date_add(now(),INTERVAL 70 YEAR);

3.6 datadiff

1
2
#要输入两个数,且第一个年月日时长大于第二个,不然会出现负数
select datediff('2023-04-01','2003-05-15');

4. 流程函数

image-20230401131046816

4.1 if

1
2
3
select if(true,'ok','no');
#一般ture或false里面放的是条件表达式
#输出结果:ok

4.2 ifnull

1
2
3
4
5
6
7
select ifnull('ok','no');
#如果第一个值不为空,则返回第一个值;如果为空,则返回第二个值,即返回默认值
#输出结果:ok

select ifnull(null,'no');
#此时第一个值为空,因此返回第二个值
#输出结果:no

4.3 case when then else end

1
2
3
4
5
6
7
select
name,
(case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end) as '工作地址'
from emp ;
#case 需要查询的东西 when value1 then value2 ( 意思是把value1归为value2类下)如果想继续加,就在后面继续when——then即可
#如果 北京 的值被找到了l,则返回 一线城市 ,··.否则返回default默认值,即 二线城市


MySQL-基础-函数
https://baijianglai.cn/MySQL-基础-函数/15eed543fc7f/
作者
Lai Baijiang
发布于
2024年4月24日
许可协议