欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于sqlite日期的有关问题

更新时间: 2014-01-05 02:31:38 责任编辑: Author_N1

 

关于sqlite日期的问题
表weather 字段为
dt(datetime),weather(char) 

里面的数据如下
2013-06-30  晴
2013-07-01  雨
2013-07-02  未知
....
每天一条

select * from weather where  dt='2013-07-01'  无结果(应该是有一条结果的)
select * from weather where  dt>='2013-07-01' 有结果,其中也包括2013-7-1这条

select * from weather where dt>='2013-07-01' and dt<='2013-07-02' 只返回 2013-7-1这条
不返回 2013-7-2



-------------------------------
问题2,表zw 字段为
 paydt(datetime) ,其它字段1,其它字段N...
2013-07-01 17:25:03 ,XXX,XXX
2013-07-01 17:20:05 ,XXX,XXX
....都是7.1产生的记录,有很多条。

select * from  zw where paydt>='2013-07-01' and paydt<='2013-07-02' 有很多结果,正确

select * from  zw where paydt>='2013-07-01T00:00:00' and paydt<='2013-07-02T00:00:00' 一个结果都没有,错误(应该有很多结果才对)


为什么=不行,>=就可以?如果日期应该是 2013-07-01T00:00:00 这样的格式,那么第二个表的问题无法解释啊。

请问sqlite日期倒底应该是什么样的格式?谢谢。











--参考方法--
   建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
   参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
   
   1. 你的 create table xxx .. 语句
   2. 你的 insert into xxx ... 语句
   3. 结果是什么样,(并给以简单的算法描述)

   
   这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。

--参考方法--
select * from weather where dt>='2013-07-01' and dt<='2013-07-02' ;
dt weather
2013-7-1 晴
2013-7-2 晴

select * from  zw where paydt>='2013-07-01T00:00:00' and paydt<='2013-07-02T00:00:00' 
没有记录返回,SQLITE标准日期格式 YYYY-MM-DD HH:MM:SS

select * from  zw where paydt>=

strftime('%Y-%m-%d %H:%M:%S','2013-07-01T00:00:00') and 
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:31:38
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10905/
本文WWW.DOC100.NET DOC100.NET版权所有。