sqlite处理数据时发现的异常:
语句:select * from CouponPrint where PrintTime<='2013-11-07 14:20:00'
原表:
数据库中明明有这条语句,为什么查找不出来呢?
语句:select * from CouponPrint where PrintTime<='2013-11-07 14:33:00'
却能查询出来,通过上表对比没有发现任何问题。
想了很多可能,最后打开sqlite本地数据库文件核对,终于发现了问题所在:
看出来了么?本地文件存储就是有区别的,2013-11-07 14:20:00和2013-11-07 14:20:00.000不一样。
由此推断,sqlite中对于时间的比对采用的可能是字符串比较,而不是真正的时间比对。
留此为证。兄弟我也认真过。