文档章节

今天的时间逻辑以及fix 一个 mysql 程序员错误的习惯

疯狂的兔子
 疯狂的兔子
发布于 2015/04/21 10:43
字数 457
阅读 26
收藏 1

一个很有趣的SQL

SELECT  count(1) from b2c_order  
 WHERE
 b2c_order.create_time >= '2012-09-03 00:00:00' AND b2c_order.create_time <= '2012-09-03 23:59:59';

这个SQL不细看感觉不出来问题,可是细看一下,觉得那么别扭,2012-12-03 23:59:59 这个是什么意思?难道,作者想用这个方法来计算当天么?

"今天"的逻辑

询问了一下开发,确证这是一个统计,统计当天的交易数,那么这里就带来了一个问题,“今天”在数学上或者在程序里,定义应该是怎样的?
下面的逻辑:

 >= '2012-09-03 00:00:00'  <= '2012-09-03 23:59:59'

能否表示某一天?

显然,上面的逻辑是有问题的,因为,23:59:59 之后,还有一秒钟是属于今天的。一秒钟,对计算机来说,简直像永远那么漫长,能发生的事情和故事实在是太多了,所以,这个逻辑一定是有问题的,因为它少了一秒,那么应该如何表示今天呢?

一秒的作用

当年利森把巴林银行搞垮,只用了十几毫秒。so,一秒的作用,更关键的是会让人将来在对账、在统计的时候,发生莫名奇妙的事情,而要耗费巨大的精力来检查和修理。

"今天“的正确逻辑

实际上,今天的正确逻辑,无非是这么一句话:”大于等于今天的开始,小于明天的开始“,我们只要利用好开闭区间,就可以很好的、无漏洞的表示”今天“,所以,我只要把逻辑改成下面这样:

 >= '2012-09-03 00:00:00'  < '2012-09-04 00:00:00'

就正确无误了!


© 著作权归作者所有

共有 人打赏支持
上一篇: jvm介绍
下一篇: 慢查询分析改进
疯狂的兔子
粉丝 34
博文 178
码字总数 101541
作品 0
北京
后端工程师
私信 提问
Discuz 7.2坑爹集锦-PHP篇 update 20120525

Discuz 7.2坑爹集锦-PHP篇 ucc代表uc_client目录 ucs代表uc_server目录 类型: 代码风格 坑爹指数: ☆ 点评: DZ代码不错,不过其代码风格对于维护来说比较痛苦。 本来应该尽量避免在判断中...

mark35
2012/01/11
0
23
程序员们注意了,这4个生活习惯很容易出卖你的身份

大家都知道程序员做事是非常有逻辑的,在日常生活中就能体现的到,不过有的时候过于追求逻辑化也会是生活失去乐趣,不是有这样一个例子嘛,本来是一道趣味题,问程序员结果就不一样,就是经常...

qq_40433465
2018/05/07
0
0
程序员你为什么这么累【续】:编码习惯之参数校验和国际化规范

程序员你为什么这么累【续】:编码习惯之参数校验和国际化规范 程序猿DD | 博客2017-09-097 阅读 校验参数编码国际化程序员 导读: 程序员你为什么这么累? 我的编码习惯 - 接口定义 我的编码...

程序猿DD | 博客
2017/09/09
0
0
如何写出好的 PHP 代码?

编写良好的代码是一种艺术。如果一个程序员遵循一些良好的编程习惯,那么他就可以成为一个优秀的程序员。实际上,相对于你写代码的时间,你很可能会花更多的时间在代码维护上;更不用说整个应...

tsl0922
2012/11/27
827
2
只有程序员才有的12个习惯, 占了一半以上才是真程序员!

程序员的日常通常是写代码,看别人写的代码,改别人写的代码。 当一个程序员是什么样的一种体验?领着高薪、生活滋润这是自然的。 程序员是比较富有的一个群体,却很少炫富。 程序员的话不多,...

你的社交帐号昵
2018/06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

嵌入式应用选择合适的微控制器

准备所需硬件接口列表 使用微控制器的基本硬件框图,准备一份微控制器需要支持的所有外设接口的列表。微控制器中有两种常见的接口类型需要列出。第一种是通信接口,这些是外围设备,如USB,S...

linuxCool
15分钟前
2
0
Group by使用

概述 GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。 GROUP BY必须得配合...

小橙子的曼曼
26分钟前
3
0
机械臂写中文

Make Me a Hanzi https://www.skishore.me/makemeahanzi/ 使用uArm Swift Pro机械臂写中文-毛笔字 https://github.com/makelove/Robot_Arm_Write_Chinese...

itfanr
37分钟前
4
0
OSChina 周三乱弹 —— 孤独到都和病毒发生了感情了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 逃跑计划《一万次悲伤 (Live)》 《一万次悲伤 (Live)》- 逃跑计划 手机党少年们想听歌,请使劲儿戳(这里) 现在...

小小编辑
今天
1K
14
test

//// main.c// Test//// Created by 吕颖 on 2019/1/16.// Copyright © 2019年 carmen. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include <t......

carmen-ly
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部