mysql日期函数的bug
来源:互联网 发布:淘宝几天售后 编辑:程序博客网 时间:2024/05/24 06:40
mysql版本:5.2.16 OSS Beta Revision 5249
昨天在用mysql的日期函数的时候发现这样一个有趣的事情。如下:
SELECT DAYOFWEEK('2011-03-26'),DAYNAME('2011-03-26'),WEEKOFYEAR('2011-03-26');
-- 结果:'7', 'Saturday', '12'
SELECT DAYOFWEEK('2011-03-27'),DAYNAME('2011-03-27'),WEEKOFYEAR('2011-03-27');
-- 结果:'1', 'Sunday', '12'
SELECT DAYOFWEEK('2011-03-28'),DAYNAME('2011-03-28'),WEEKOFYEAR('2011-03-28');
-- 结果:'2', 'Monday', '13'
这个查询结果很有趣,不知道有没有发现。
从查询结果出发得出这样的结论:
'2011-03-26' 是Saturday,一个星期的最后一天:7. 同时这周是一年中的第12周。
'2011-03-27'是Sunday,一个星期的第一天:1.
'2011-03-28'是Monday,一个星期的第二天:2.
从上面,我们得出。周是以周日为一周的第一天算的。
到此,做个推理:'2011-03-26' 这周是一年中的第12周,这个没有问题。
那么,很容易想到'2011-03-27'这周是一年周的第13周,和'2011-03-28'是在同一周。
我们再看查询结果,发现:
-- 结果:'1', 'Sunday', '12' 即'2011-03-27'这周,在结果中显示是一年周的第12周。
-- 结果:'2', 'Monday', '13'即2011-03-28'这周,在结果中显示是一年周的第13周。
这里的结果显示:周日是位于上一周,是一周的结束。
和刚得到的结果:周日是一周的开始,相矛盾。
DAYOFWEEK这个日期函数和WEEKOFYEAR日期函数有一个混淆的地方:一周开始的定义不一样。MYSQL 5.2.16 BUG!!!
- mysql日期函数的bug
- MySql的日期函数
- MySql的日期函数
- MySQL的日期函数
- oracle interval日期函数的bug!
- mysql的日期/时间函数
- MySQL的几个日期函数
- mysql的日期/时间函数
- mysql的日期/时间函数
- Mysql 的一些日期函数
- mysql日期函数的使用
- mysql常用的日期函数
- Mysql的日期时间函数
- mysql的日期函数介绍
- mysql 对于年月日日期的比较bug记录
- MYSQL的日期函数及相关函数
- MySQL的日期函数的使用
- mysql的日期和时间函数
- GTK Gossip: GtkScrolledWindow
- VMware server 2.0使用实录
- GRIDVIEW绑定的有关代码
- select优化的几个方法
- 获取客户端用户真实ip
- mysql日期函数的bug
- POJ 1195
- Undefined exploded archive location Tomcat之项目不能发布
- Mysql性能测试工具
- Java串口通信详解
- C++项目中的extern "C" {}
- SVD notes
- 修改Android开机画面
- 【Android】状态栏通知Notification、NotificationManager详解