我在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