1
我有一個表messages
,用於存儲來自聊天的郵件,其中的日期時間類型爲TEXT,並以下列格式存儲:username, message, datetime
:「yyyy/MM/dd hh:mm:ss」。我想檢索特定時間範圍內的平均行數,而不打擾日期。例如:SQlite:選擇特定時間範圍內的行,忽略日期
SELECT avg(count(message))
FROM messages
WHERE datetime < "2016/mm/dd 13:00:00" AND
datetime > "2016/mm/dd 12:00:00"
是否有一些運算符允許任何字符代替「mm」和「dd」。從本質上講,我試圖構造一個查詢來檢索特定時間範圍內的平均消息量,而不是特定日期消息的數量。
似乎sqlite只接受日期時間格式爲「YYYY-MM-DD HH:MM:SS.SSS」,連字符分隔年份,月份和日期,而我的日期時間字符串使用正斜槓格式化。 –
@ J.Doe然後你應該把你的日期時間轉換成適當的格式。它會讓你的生活更輕鬆。沒有這個,你需要一些非常難看的字符串操作來解決這個問題。 –
我是否需要編寫一個程序來遍歷每個表條目並相應地重新設置日期時間字符串的格式,或者有一種方法可以通過一個sqlite查詢一舉完成?此外,當我嘗試使用AVG功能時,會出現「聚合」錯誤。 COUNT(消息)僅返回一個整數,表示尊重WHERE子句的條目數量,但僅使用此信息無法執行平均計算。爲了執行平均計算,需要知道的天數。 –