2013-10-08 50 views
0

我在sqlite中有一個表,它有一列timestamp數據類型。現在我想根據表格中的時間戳獲取數據。格式爲「yyyy-MM-DD HH:MM:SS」無法使用時間戳列從sqlite中獲取數據

Select * from table where ts<'2013-10-08 04:30:00'

返回所有的數據,並沒有返回具體到我所提到的時間數據。

是否有任何具體的方式來查詢表使用時間戳列?

在此先感謝

+0

是您查詢肯定嗎?你在*今天的特定時間*之前要求一切*。如果您有任何數量的歷史數據,那可能幾乎是一切。 – shambulator

+0

@shambulator,查詢是正確的,當我使用除當前日期以外的日期時的行爲是相同的。 – user1140366

回答

0

你是正確的查詢,它應該返回你正確的結果,我建議你檢查表中的數據。

曾經做過在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 
+0

嗨,山姆,表中的數據是'8/10/2013 4:45 PM'這種格式,即使我以這種格式'2013-08-10 16:45:55'插入它。這可能是它沒有獲取數據的原因嗎?這是我的插入查詢:INSERT INTO table(ts)VALUES('2013-08-10 16:45:55'); – user1140366

+0

@ user1140366看到我的編輯改變了格式,仍然返回正確的值..使用2個查詢 – Zaki

+0

您使用的格式不同。我的表格中的數據採用以下格式:'2013年8月10日下午4:45' – user1140366

相關問題