我在sqlite中有一个表,它有一列timestamp数据类型。现在我想根据表格中的时间戳获取数据。格式为“yyyy-MM-DD HH:MM:SS”无法使用时间戳列从sqlite中获取数据
Select * from table where ts<'2013-10-08 04:30:00'
返回所有的数据,并没有返回具体到我所提到的时间数据。
是否有任何具体的方式来查询表使用时间戳列?
在此先感谢
我在sqlite中有一个表,它有一列timestamp数据类型。现在我想根据表格中的时间戳获取数据。格式为“yyyy-MM-DD HH:MM:SS”无法使用时间戳列从sqlite中获取数据
Select * from table where ts<'2013-10-08 04:30:00'
返回所有的数据,并没有返回具体到我所提到的时间数据。
是否有任何具体的方式来查询表使用时间戳列?
在此先感谢
你是正确的查询,它应该返回你正确的结果,我建议你检查表中的数据。
曾经做过在SQL小提琴测试,并正在检查下面的链接:
http://sqlfiddle.com/#!7/75cae/2
我的表包含:
'2013-01-07 04:30:00'
'2013-01-20 05:30:00'
'2012-12-30 04:30:00'
和我的查询是:
SELECT * FROM t
WHERE dt > '2013-01-07 05:30:00'
其中返回我:
2013-01-20 05:30:00
编辑::
按照你对此有何评论更改格式:http://sqlfiddle.com/#!7/1b6f8/2
'2013-01-07 04:30PM'
'2013-01-20 05:30PM'
'2012-12-30 04:30AM'
查询:
SELECT * FROM t
WHERE dt > '2013-01-07 04:30:00'
OR:
SELECT * FROM t
WHERE dt > '2013-01-07 04:29PM'
结果:
2013-01-07 04:30PM
2013-01-20 05:30PM
嗨,山姆,表中的数据是'8/10/2013 4:45 PM'这种格式,即使我以这种格式'2013-08-10 16:45:55'插入它。这可能是它没有获取数据的原因吗?这是我的插入查询:INSERT INTO table(ts)VALUES('2013-08-10 16:45:55'); – user1140366
@ user1140366看到我的编辑改变了格式,仍然返回正确的值..使用2个查询 – Zaki
您使用的格式不同。我的表格中的数据采用以下格式:'2013年8月10日下午4:45' – user1140366
是您查询肯定吗?你在*今天的特定时间*之前要求一切*。如果您有任何数量的历史数据,那可能几乎是一切。 – shambulator
@shambulator,查询是正确的,当我使用除当前日期以外的日期时的行为是相同的。 – user1140366