关于MySQL 的时间相加天数和时间作差的SQL
来源:互联网 发布:姚明新秀赛季各场数据 编辑:程序博客网 时间:2024/06/13 08:44
今天写了一条相对比较应用比较丰富的Sql语句,特别在这里总结一下关于时间作差和相加、case when等开发常用的用法。
SELECT mri.packId,mri.mailId,0,0,0,1, (CASE WHEN mi.productId=2 THEN IF(TIMESTAMPDIFF(SECOND,mpi.sendTime,mdi.mailDeadLine)<(60*60*24*5),DATE_ADD(mpi.sendTime,INTERVAL 5 DAY ),mdi.mailDeadLine) ELSE DATE_ADD(mpi.sendTime,INTERVAL mi.deliveTime+2 DAY ) END ) AS MailDeadLine, (CASE WHEN mi.productId=2 THEN IF(TIMESTAMPDIFF(SECOND,mpi.sendTime,mdi.HzDeadLine)<(60*60*24*7),DATE_ADD(mpi.sendTime,INTERVAL 7 DAY ),mdi.HzDeadLine) WHEN mi.productId<>2 AND mi.hzFlag=1 THEN DATE_ADD(mpi.sendTime,INTERVAL mi.hzTime DAY ) ELSE NULL END) AS HzDeadLine FROM qct_produce.mail_review_info mri,qct_produce.mail_imp mi,qct_produce.mail_pack_info mpi,qct_produce.mail_deliver_info mdi WHERE mri.mailFlag=0 AND mri.mailId = mi.mailId AND mri.packId = mpi.packId AND mri.dlId=mdi.dlId
这里用到Date_Add 对一个时间进行天数相加
用下面对两个时间作差,转化成秒,注意是 HzDeadLine-sendTime,即后面减去前面的,Second,这里可以是天,分钟,如果是天(Day)的话,后面的时分秒无效,可以自行测试。
TIMESTAMPDIFF(SECOND,mpi.sendTime,mdi.HzDeadLine)<(60*60*24*7)最近,项目已经上线,在运行中,不断测试并完善,甚是欣慰!
本人一直以为,一个项目,要想后期方便维护,必须有良好认真的注释之外,同时,保持良好的命名习惯和项目目录结构的良好规划,此外,对新增的需求和后续的需求,不能盲目或无条件地加,加功能需考虑到后期的维护和对系统的负担,不能无条件满足客户的要求,注意在操作上规范用户的操作,这些都很重要。
1 0
- 关于MySQL 的时间相加天数和时间作差的SQL
- android 取现在时间和以前的时间做差 求出天数 时间 和分钟数
- 提取两个时间点的天数差
- JS 两个字符串时间的天数差
- JavaScript 求两个时间的天数差
- java和mysql计算两个时间的天数
- javascript 取得两个时间的天数差 (两个方法)
- js计算两个时间之间的天数差
- js计算两个时间之间天数差的实例代码
- 计算2个时间之间的天数差 JS版 和 JAVA版 2种
- 计算时间的两天的相差天数和循环天数
- MYSQL关于时间日期的sql语句
- mysql关于时间日期的sql语句
- 时间的相加
- Sql 计算量个时间的差
- 时间的相加和相减
- mysql 获取两个时间的分钟差
- MySQL 对日期的天数相加用法
- C Primer Plus6-9
- Oracle数据库易遗漏的知识点(二)
- "cvc-complex-type.2.4.a: Invalid content was found starting with element ..."的解决方法
- 寻李白-余光中
- phoenix查询异常的问题(PhoenixIOException)
- 关于MySQL 的时间相加天数和时间作差的SQL
- CentOS-Linux安装 XS-Tools (XenServer)
- 随便写写
- jQuery + JavaScript 实现的动态添加文本框功能(一)
- C Primer Plus6-10
- C Primer Plus6-11
- xenserver使用cli进行主机池添加
- C Primer Plus6-12
- maven 入门