MySQL常用函数
文章目录
- MySQL常用函数
- 常用数值函数
- 常用日期函数
- 常用字符串函数
- 流程控制函数
- 其他函数
常用数值函数
1. select round(1.50);
2. select round(1.556,2);
3. select ceil(1.02);
4. select floor(1.02);
5. select truncate(1.699999,1);
6. select mod(10,3);
7.select ABS(-2);
8.select rand();
常用日期函数
1.select now();
2.select curdate();
3.select curtime();
4.select year(now());
5.select month(now());
6.select day(now());
7.select monthname('2019-11-10');
8.select str_to_date('6-21 2019','%m-%d %Y');
9.select date_format(now(),'%Y-%m-%d %h:%i:%s');
常用字符串函数
select lower('ABCDEFG');
select upper('abcdefg');
select concat('ABCDEFG','abcdefg');
select length('ABCDEFG');
select substr('张无忌喜欢赵敏',6);
select substr('张无忌喜欢赵敏',1,3);
select instr('张无忌喜欢赵敏','赵敏');
select instr('张无忌喜欢赵敏','周');
select instr('张无忌喜欢张无忌','张');
select trim(' 张无忌 ');
select lpad('张无忌',10,'你');
select rpad('张无忌',10,'你');
select replace('张无忌爱上了周芷若','周芷若','赵敏');
流程控制函数
select if('10>5','大','小');
部门号=30,显示的工资为1.1倍
部门号=40,显示的工资为1.2倍
部门号=50,显示的工资为1.3倍
其他部门,显示的工资为原工资
要查询的表如下:
select employee_id,salary 原始工资,department_id,
case department_id
when 30 then salary*1.1
when 40 then salary*1.2
when 50 then salary*1.3
else salary
end
as 新工资
from employees
where department_id in(30,40,50)
;
结果:
如果工资>20000,显示A级别
如果工资>15000,显示B级别
如果工资>10000,显示C级别
否则,显示D级别
要查询的表如下:
select employee_id,salary,
case
when salary>20000 then 'A'
when salary>15000 then 'B'
when salary>10000 then 'C'
else 'D'
end
as 新工资
from employees;
结果:
其他函数
select ifnull(null,0);
select version();
select database();
select user();