MYSQL—— TIME_TO_SEC函数与UNIX_TIMESTAMP函数区别
来源:互联网 发布:ubuntu中安装qq国际版 编辑:程序博客网 时间:2024/05/16 15:39
今天遇到个需求,统计充电的订单,充电时长,懒得用Java了,直接就在数据库函数搞起来,结果放到线上运行后发现很多充电时长为负数的订单,才发现这个问题。
首先是STR_TO_DATE
这个函数是吧varchar格式的时间转成时间格式,
STR_TO_DATE(begin_charge_time,'%Y-%m-%d %H:%i:%s')这样就成时间格式了
然后TIME_TO_SEC
返回 time 参数,转换成秒。可以直接在mysql执行
SELECT TIME_TO_SEC('22:23:00'); 结果为 80580
我的写法是
(TIME_TO_SEC (STR_TO_DATE(end_charge_time,'%Y-%m-%d %H:%i:%s')) - TIME_TO_SEC (STR_TO_DATE(begin_charge_time,'%Y-%m-%d %H:%i:%s'))) EquipmentChargeTime
一般都没问题,可我有个订单时间是end_time:2017-05-10 00:35:28,begin_time:2017-05-09 23:28:11
SELECT TIME_TO_SEC('2017-05-10 00:35:28'); 输出为 2128SELECT TIME_TO_SEC('2017-05-09 23:28:11'); 输出为 84491相减就是负数了。
原来 TIME_TO_SEC 是把 时分秒转为 秒,并不会对年月日进行处理
UNIX_TIMESTAMP这个函数返回的是自1970年以来的秒数,所以时间计算用这个是靠谱的。
正确使用方式
(UNIX_TIMESTAMP(STR_TO_DATE(end_charge_time,'%Y-%m-%d %H:%i:%s')) - UNIX_TIMESTAMP(STR_TO_DATE(begin_charge_time,'%Y-%m-%d %H:%i:%s'))) EquipmentChargeTime
阅读全文
0 0
- MYSQL—— TIME_TO_SEC函数与UNIX_TIMESTAMP函数区别
- 对mysql time_to_sec()函数的误解
- MySQL的unix_timestamp()函数
- mysql中的unix_timestamp函数
- mysql中的unix_timestamp函数
- mysql中的unix_timestamp函数
- mysql函数UNIX_TIMESTAMP和FROM_UNIXTIME
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- MySQL 数据库中日期与时间函数FROM_UNIXTIME(), UNIX_TIMESTAMP()
- MySQL 数据库中日期与时间函数FROM_UNIXTIME(), UNIX_TIMESTAMP()
- MySQL 数据库中日期与时间函数FROM_UNIXTIME(), UNIX_TIMESTAMP()
- MySQL插入时间戳用函数:UNIX_TIMESTAMP()
- Unity3D 03-代码及效率优化总结
- bzoj 2219: 数论之神 (BSGS+GCD+数论)
- 查看虚拟机里的Centos7的IP
- 一种非递归实现广度优先搜索(BFS)的方法
- PowerDesigner的Name和Code不同步设置
- MYSQL—— TIME_TO_SEC函数与UNIX_TIMESTAMP函数区别
- 关于PHP获取QQ授权后的用户信息
- linux设备驱动程序之简单字符设备驱动
- springboot + devtools(热部署)
- 在泛型为Integer的ArrayList中存放一个String类型的对象
- php获取ip地址-完整版
- join,left join,inner join,right join的区别
- Python 获取操作系统用户进程详细信息
- 解决:登入失败,禁止当前的账户