zoukankan      html  css  js  c++  java
  • mysql计算两个时间的差以及保留小数点后3位

    测试时需要验证页面展示的数据是否正确,如下页面展示所示,验证平均耗时以及数量是否正确

     1、需求:耗时=结束时间-开始时间,平均耗时=总耗时/数量

     2、看表的基本数据,开始时间和结束时间格式如:2020-12-20 12:09:23.123

     3、先计算两个时间差

    SELECT UNIX_TIMESTAMP('2020-12-20 12:09:23.123') - UNIX_TIMESTAMP('2020-12-20 12:09:23.121')

    结果是0.002,实际的结果应该是2毫秒,所以需要把所得结果*1000

     4、核对页面数据

    SELECT t.node AS '节点', COUNT(1) AS '数量', ROUND(SUM(t.hs)/COUNT(1) , 3) AS '平均耗时'  FROM 
     (SELECT a.nodeNo AS node , a.`startTime`, a.`endTime`, ((UNIX_TIMESTAMP(a.`endTime`)-UNIX_TIMESTAMP(a.`startTime`)) *1000) AS hs 
     FROM  tb1 a 
     WHERE  具体的查询条件
      ) t 
     GROUP BY t.node ; 
     

     查询后可得到真实的平均耗时值,与列表展示的不一样,分析数据可知是页面展示的数据未除数量,所以页面展示的数据有误


    5、补充:保留小数点后3位的方法

    -- 不四舍五入,直接截取
    SELECT TRUNCATE(4545.1366,3);
    -- 四舍五入
    SELECT ROUND(4545.1366,3);
    -- 四舍五入,但是中间有逗号隔开
    SELECT FORMAT (4545.1366,3);
     
  • 相关阅读:
    lnmp配置Yii2规则
    vue中前进刷新、后退缓存,列表缓存和回到原位置
    vue 或者传统h5移动端input被输入法键盘挡住解决方法
    uni-app知识
    typescript
    flow
    js点击按钮分别实现全屏以及退出全屏的方法
    vue.config.js配置本地,测试,开发环境变量
    git常用指令
    Git指令
  • 原文地址:https://www.cnblogs.com/simple1025/p/14208100.html
Copyright © 2011-2022 走看看