MySQL中计算默认是四舍五入的。要是直接舍掉小数位需要用到FLOOR()
函数。
- ceil() / ceiling() 向上取整
ex: ceil(1.2) = 2 - floor() 向下取整
ex: floor(1.2) = 1 - round() 四舍五入
给出一个我写的例子:
update guess_detail set
award_bean = (case when FLOOR(((BEAN_COUNT / 400) * 675)) > 5000 then 5000 else FLOOR(((BEAN_COUNT / 400) * 675)) end)
where DATE_TIME = '2021-02-05' and guess_type = 'up'
case when 可以理解为sql中的三元表达式,如果计算的值大于5000,就赋值5000。否则等于计算的值。
感谢各位观看,如果有不对的地方还请各位大佬们指教。