我在我的數據庫中有一個表。在該表中,我存儲了一個值(以日期爲單位,以毫秒爲單位):「1424386800000」,名爲「fechainicio」。使用Swift的SQLite查詢的奇怪結果
我已經下載了我的Mac中的SQLite瀏覽器,實際檢查值是否存儲,以及它的正確與否。
後來,在我的代碼,我檢索使用這一點,值:
var fechaInicio:Int64=Int64(results!.intForColumn("fechainicio"))
當我這樣做,我收到值「-1542342272」。
爲什麼值檢索不正確?
我也曾嘗試
var fechaInicio:Int64=results!.intForColumn("fechainicio").toIntMax()
和
var fechaInicio=results!.intForColumn("fechainicio")
是不是INT64正確的類型從數據庫中檢索長期價值?
您需要使用stringForColumn進行提取,然後將此類型轉換爲double。這並不奇怪。 IntForColumn提供10位數值。 –
那麼,Swift中沒有長類型。據我所知,Swift中的Long類型是... Int64 – Fustigador
(Objective-)C中的int類型是Swift中的Int32類型。將1424386800000截斷爲32位給出-1542342272。你應該使用'longForColumn()'(假設這是FMDB)。 –