文档章节

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

疯狂的兔子
 疯狂的兔子
发布于 2015/04/21 10:43
字数 457
阅读 23
收藏 1
点赞 0
评论 0

一个很有趣的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'

就正确无误了!


© 著作权归作者所有

共有 人打赏支持
疯狂的兔子
粉丝 34
博文 158
码字总数 101541
作品 0
北京
后端工程师
Discuz 7.2坑爹集锦-PHP篇 update 20120525

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

mark35 ⋅ 2012/01/11 ⋅ 23

程序员们注意了,这4个生活习惯很容易出卖你的身份

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

qq_40433465 ⋅ 05/07 ⋅ 0

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

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

程序猿DD | 博客 ⋅ 2017/09/09 ⋅ 0

如何写出好的 PHP 代码?

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

迷途d书童 ⋅ 2012/07/24 ⋅ 23

[ios学习]零基础学习iOS开发如何分配时间

在培训期间,学生的时间应该如何分配 学生在学习期间的主要工作时间分配 9:00~ 9:30,认真听同学的学习阶段中的分享,俗话说的好"三人行,必有我师"; 9:30~ 18:00,认真听老师的课堂上课,并且...

浩浩老师 ⋅ 2015/09/15 ⋅ 0

只有程序员才有的12个习惯, 占了一半以上才是真程序员!

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

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

程序开发中那些莫名奇妙的bug

众所周知,程序员的使命,就是不停的编程,调试,测试,直到上线为止。但其中相当一部分时间都花费到调试上,因为我们总会在开发过程中因为不同的环境,不同的编码语言规则,导致我们遇到各种...

strict_nerd ⋅ 2016/02/27 ⋅ 0

MySQL · 性能优化 · MySQL常见SQL错误用法

前言 MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇...

阿里云RDS-数据库内核组 ⋅ 2017/03/04 ⋅ 0

极限编程的12个实践原则

1.计划的制定 制定计划的目的是确定本次迭代的范围。 本步骤的重心应该放在决定什么是对客户来说最重要的任务和如何首先完成这些任务。 计划的制定包括客户选择的项目大小、程序功能的优先级...

justjavac ⋅ 2012/11/12 ⋅ 1

程序员你为什么这么累【续】:我的编码习惯 - 函数编写建议(附完整源码)

程序员你为什么这么累【续】:我的编码习惯 - 函数编写建议(附完整源码) 程序猿DD | 博客2017-09-176 阅读 源码编码函数程序员 导读: 程序员你为什么这么累? 我的编码习惯 - 接口定义 我的...

程序猿DD | 博客 ⋅ 2017/09/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

中标麒麟(龙芯版)7.0优盘安装

########################################## 制作U盘安装盘: 1.准备U盘: PMON环境下U盘必须格式化成ext3; 昆仑固件环境下可以格式化成ext3,ext4 2.把整个镜像 xxx.iso 复制到U盘下面 3....

gugudu ⋅ 9分钟前 ⋅ 0

老司机写的大数据建模五步走

本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。 01 第一步:选择模型或自定义模式 这是建模的第一步,我们需要基于业务问题,来决定可以选择哪些可用的模型。 比如,如果要预...

gulf ⋅ 18分钟前 ⋅ 0

PacificA 一致性协议解读

PacificA 的 paper 在 08 年左右发出来的,比 Raft 早了 6,7 年。 在 PacificA 论文中,他们强调该算法使用范围是 LAN (Local Area Network),讲白了就是对跨机房不友好。 不管是 ZAB,Raf...

黑客画家 ⋅ 20分钟前 ⋅ 0

盘符图标个性化

设置自己的专属盘符图标 准备ico格式的图片文件一个,在根目录下创建autorun.inf文件 文件内容 [Autorun]icon=logo.ico 重新启动或者插拔U盘即可看到结果...

阿豪boy ⋅ 20分钟前 ⋅ 0

Windows下QQ聊天记录中图片的默认存放位置

Windows下QQ聊天记录中图片的默认存放位置在设置中是没有说明的。 实测位置在:D:\Documents\Tencent Files\974101467\Image 其中: “974101467”为对应的QQ号; “C2C”为个人之间的聊天图...

临江仙卜算子 ⋅ 27分钟前 ⋅ 0

GC 的三种基本实现方式

参考资料《代码的未来》(作者: [日] 松本行弘)。 由于并非本人原著(我只是个“搬运工“),SO 未经本人允许请尽情转载。 另外个人像说明一下这里所说的GC指泛指垃圾回收机制,而单指Jav...

xixingzhe ⋅ 27分钟前 ⋅ 0

Android双击退出

/** * 菜单、返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode......

王先森oO ⋅ 32分钟前 ⋅ 0

idea 整合 vue 启动

刚学习Vue 搭建了一个项目 只能命令启动 Idea里面不会启动 尝试了一下修改启动的配置 如下: 1.首先你要保证你的package.json没有修改过 具体原因没有看 因为我改了这个name的值 就没办法启动...

事儿爹 ⋅ 37分钟前 ⋅ 0

redis在windows环境的后台运行方法

在后台运行,首先需要安装redis服务,命令为 redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动,命令为 redis-server --service-start 停止,命令为 redis-...

程序羊 ⋅ 40分钟前 ⋅ 0

比特币现金开发者提出新的交易订单规则

本周,四位比特币现金的四位开发者和研究员:Joannes Vermorel(Lokad),AmaurySéchet(比特币ABC),Shammah Chancellor(比特币ABC)和Tomas van der Wansem(Bitcrust)共同发表了一篇关...

lpy411 ⋅ 44分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部