當使用DATETIME功能做一些算術,我發現以下行爲:SQLite DATETIME函數'中斷''-1個月'?
選擇DATETIME(「現在」,「-1個月」,「月開始」)
預期:2011-02 -01 00:00:0
結果:2011-03-01 00:00:0 - 失敗
選擇DATETIME( '現在', '-2個月', '月開始')
預期: 2011-01-01 00:00:0
結果:2011-01-01 00:00:0 - 好吧
This only appe自從昨天開始,我的集成測試就開始了。我的猜測是,扣除的月份是以天爲單位計算的,並且不知何故使用了上個整月的天數(而不是當前天數)。最後一個整月,2月精選28天,因此結果)
這很容易通過改變輸入到DATETIME函數的順序來解決,如下所示:DATETIME('now','start of month',' - 1個月「),但仍然是棘手的行爲,並可能導致不被注意的錯誤。
我使用System.Data.SQLite.DLL /版本1.0.66.0/2010年4月18日
別人發現了這種行爲?這是一個已知的錯誤?或者我「做錯了」?
我看你是對的(跟着鏈接)。這是有道理的,以一種扭曲的方式。但我自己的邏輯也不穩定,可能更是如此。無論如何,謝謝你幫助我理解。 – Rick 2011-03-30 12:01:20