MySQL基础篇(一)

MySQL常用函数

文章目录

  • MySQL常用函数
    • 常用数值函数
    • 常用日期函数
    • 常用字符串函数
    • 流程控制函数
    • 其他函数


常用数值函数

#四舍五入
1. select round(1.50);// 结果 2
#四舍五入保留两位小数
2. select round(1.556,2);//结果1.56
#向上取整
3. select ceil(1.02);//结果 2 
#向下取整
4. select floor(1.02);//结果 1
#截断
5. select truncate(1.699999,1);//结果 1.6
#取余
#mod(a,b)= a-a/b*b;
6. select mod(10,3); //结果为1
#返回ABS的绝对值
7.select ABS(-2); //结果2
#返回0-1内的随机值
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');	//结果November
#字符串转日期
8.select str_to_date('6-21 2019','%m-%d %Y');//结果为2019-06-21
#日期转字符串
9.select date_format(now(),'%Y-%m-%d %h:%i:%s');

常用字符串函数

#将字符串全部转换为小写字母
select lower('ABCDEFG');//结果abcdefg
#将字符串全部转换为大写字母
select upper('abcdefg');//结果ABCDEFG
#将多个字符串首尾拼接后返回
select concat('ABCDEFG','abcdefg');//结果ABCDEFGabcdefg
#返回字符串长度
select length('ABCDEFG');//结果为7
#从字符串的指定位置开始取一个字符串返回(索引从1开始数)
select substr('张无忌喜欢赵敏',6);//结果赵敏
select substr('张无忌喜欢赵敏',1,3);//结果张无忌
#返回子串第一次出现的索引,如果找不到就返回0
select instr('张无忌喜欢赵敏','赵敏');//找到以赵字开头的索引为6,所以结果为6
select instr('张无忌喜欢赵敏','周');//结果0
select instr('张无忌喜欢张无忌','张');//结果1(就近原则)
#去空格
select trim('    张无忌     ');
##用指定的字符填充指定长度lpad左填充
select lpad('张无忌',10,'你');//结果:你你你你你你你张无忌
##用指定的字符填充指定长度rpad右填充
select rpad('张无忌',10,'你');//结果:张无忌你你你你你你你
#替换字符串
select replace('张无忌爱上了周芷若','周芷若','赵敏');//结果:张无忌爱上了赵敏

流程控制函数

#判断函数
select if('10>5','大','小');//结果大
#case语句使用一:类似switch case 的效果
/*
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1(语句要加;结尾)
when 常量2 then 要显示的值1或语句1(语句要加;结尾)
...
else 要显示的值n或语句n(语句要加;结尾)
end
*/


#案例:查询员工的工资,要求
部门号=30,显示的工资为1.1倍
部门号=40,显示的工资为1.2倍
部门号=50,显示的工资为1.3倍
其他部门,显示的工资为原工资

要查询的表如下:
MySQL基础篇(一)_第1张图片

#case 语句
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)
;

结果:
MySQL基础篇(一)_第2张图片

#case函数使用二:类似多重if语句的case语句
/*
case 
when 条件1 then 要显示的值1或语句1(语句要加;结尾)
when 条件2 then 要显示的值1或语句1(语句要加;结尾)
else 要显示的值n或语句n(语句要加;结尾)
end
*/


#案例:查询员工的工资的情况
如果工资>20000,显示A级别
如果工资>15000,显示B级别
如果工资>10000,显示C级别
否则,显示D级别

要查询的表如下:
MySQL基础篇(一)_第3张图片

#case语句
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;

结果:
MySQL基础篇(一)_第4张图片


其他函数

#IFNULL函数 语法:IFNULL(要填入的字段,如果该字段为NULL值后需要默认的值)
select ifnull(null,0);//结果为0
#查看当前MySQL版本号
select version();
#查看当前所在数据库
select database();
#查看当前登陆用户
select user();

你可能感兴趣的:(MySQL)