我使用SQLite與python。我有一個數據庫有兩個字段(時間戳,閱讀)。大於比較的SQLite也返回相同的值。
時間戳是ISO8601字符串,格式如下:「YYYY-MM-DD HH:MM:SS.SSSSSS」。
當我運行該SQL查詢:
SELECT timestamp, value FROM 'readings' WHERE timestamp > datetime('2017-08-30 14:19:28.684314')
我得到的所有地方的時間戳,因爲提供的日期,但我也得從我傳遞的日期時間讀數(在本例中的相應讀數:「 2017-08-30 14:19:28.684314')。
我的問題是爲什麼大於比較運算符假裝它是一個大於或等於運算符?
嗯,而不是一個_SQLite_(事實上任何_DB_系統)專家,但有2件事情在我的腦海裏:要麼* micro * s被舍入爲6位數,要麼有一些轉換涉及日期本地化(加/減)幾小時/分鐘。 – CristiFati
我曾考慮過這個問題,但是我否認了它,因爲我認爲系統會以相同的方式圍繞相同的輸入日期時間。這在理論上意味着即使舍入也不應該將輸入值作爲有效的響應返回。 – badrobit