MySQL基础--数学函数(round、cell、truncate 、日期函数,以及一些控制流函数 if、case)

数学函数一些常见的

round 四舍五入的方法  round(数字,小数点后保留几位,可以省略

SELECT ROUND(-1.11);  -1
SELECT ROUND(-1.117,2);  -1.12 

cell  向上取整,返回》=该参数的最小整数

floor向上取整,返回<=该参数的最大整数

SELECT cell(-1.04);
#output  -1
SELECT FLOOR(-1.01);
#output -2

这里的向上向下可能会不好理解,可以想象一个垂直的坐标轴,定义为y轴,你要判断的参数就是上面的数值,方向向上

向上取整就是在坐标轴上靠近上方的数字取第一个最小整数,向下取整就是接近于参数的最大整数

truncate 截断

SELECT TRUNCATE(1.25668,4);
#output 1.2566

截断,不包含四舍五入,truncate函数第一个数字为需要截断的数字,第二个数字为截断的位点,从小数点后出发第一个为1 

mod取余   mod(a,b)   a-a/b*b

#mod
SELECT MOD(10,-3);
#output 1

日期函数

#now 返回当前的系统日期+时间

SELECT NOW();

#curtime 返回当前时间,不包含日期

SELECT CURTIME();

其他函数

version 返回版本 database 查看当前数据库 user 当前用户

流程控制函数

1.if  

SELECT IF(10>5,'大','小');

判断前面的语法概念,对就执行第二个,不对执行第三个

2.case 函数

1.switch case语句,用法,选择你想要的内容,加入行判断,当某个判断条件成立的时候,输出某个数值或者条件语句

#要求,选择一个数据库AS 中的员工编号(employee_id),薪水(salary),部门信息(apartment_id),输出条件
当部门为技术部,输出薪水*1.1 。当部门是研发部,输出薪水*1.2,当部门是后勤部,输出薪水*1.3
SELECT employee_id,salary,apartment_id,
CASE apartment_id
WHEN 技术部 TJEM concat(employeer_id,salary*1.1)
WHEN 研发部 TJEM concat(employeer_id,salary*1.2)
WHEN 后勤部 TJEM concat(employeer_id,salary*1.3)
ELSE concat(employeer_id,salary)
END AS 新工资
FROM AS

2.多重if的语法类似

满足一个if条件执行一个语句,对于相应的情况更加灵活

#判断一个公司数据库AS ,有员工年龄(age),休假日期(holiday),查询一个公司员工大于24岁,小于30岁的员工休假加2天,大于30岁小于40岁的员工休假加4天,大于40岁的员工休假加5天。
SELECT age,holiday
CASE 
WHEN 24<age<30 THEN holiday+2
WHEN 30<age<40 THEN holiday+4
WHEN 40<age THEN holiday+5
ELSE holiday 
END AS 新标准
FROM AS

对于筛选员工条件来说,用多重if条件语句比较合适,如何是判断单个信息,用switch when比较合适。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值