关于日期型的存储和比较
今天看到一个帖子 http://bbs.csdn.net/topics/390412805
我的问题不在怎么优化,还是在日期的比较,比如说
date betwwen '2012-01-01' and '2012-12-01'
注 这里的 date 为字符型
这样写是否真的会像我们想象的那样,会不会有出错的可能.就像EXCEL一样,有时候对数字的排序并不像我们预期的那样.
[解决办法]
这种方式我用了很久,从来没出错过,唯一可能的是你日期写的不够标准,如2013-3-21和2013-12-21,如果这两个字符比较,反而是后面的小,所以你的日期要符合yyyy-mm-dd的格式,另外用isNull函数比较好
isNull(date,'') betwwen '2012-01-01' and '2012-12-01'
[解决办法]
这样的话格式出错sql会检测不出来。
比大小的话是没有问题的
[解决办法]
如果date是字符型,字符比较按位按ascii码比较,无论两个字符是什么都不会报错
(除非类型不同发生了隐式转换)
[解决办法]
如果你都按120格式存储的.那就没事
[解决办法]