更改日期格式,這是在sqlite db 12/10/11 to 12-10-11 (mm-dd-yy)
我無法這樣做。我是一個noob在sqlite中,並且必須解析此值SELECT strftime('%d-%m-%Y',Date) from report
但我得到null作爲sqlite數據庫除了值在mm-dd-yy
所以如何轉換格式12/10/11 to 12-10-11 (mm-dd-yy)
。提前感謝。真的很感謝幫助。在sqlite中更改日期格式
回答
簡短的回答:
如果你有一個文本字符串存儲爲"12/10/11"
,你希望報告爲"12-10-11"
,你應該使用replace(X,Y,Z)
功能,具有Z
取代的Y
出現在X
。因此:
SELECT replace('12/24/11','/','-');
將返回:
12-10-11
長的答案:
首先,日期並不實際存在的SQLite中適當的數據類型。它們存儲爲TEXT,REAL或INTEGER值。請參閱date and time datatype in SQLite。所以這取決於你的日期如何存儲在數據庫中。
其次,您似乎暗示您以「mm/dd/yy
」格式存儲日期。這不是一個有效/有用的TEXT
格式來存儲日期/時間值(因爲日期不能排序,不能用於「大於」和「小於」操作,不能用於SQLite日期函數等)。您確實需要使用date and time functions文檔的「時間字符串」部分中列出的格式之一來存儲日期時間值。
因此,通常您應該將日期/時間值存儲爲其中一種格式,使用NSDateFormatter
將其從數據庫中檢索時轉換爲NSDate
。而當你想在你的應用中顯示日期值時,使用任何你想要輸出的格式。
但是,如果你不關心的日期存儲爲文本字符串,並不能有效地使用在SQLite的日期,然後只把它當作一個普通的老TEXT
串並使用TEXT
功能,如replace(X,Y,Z)
更換如上所述,出現"/"
與"-"
。
感謝Rob.I有另一個插件查詢請幫助我。我已經使用這個查詢**從報告**中選擇strftime('%Y',替換(Date,'/',' - '))。我試圖實現這一點 - http://stackoverflow.com/questions/ 14019624/sqlite-query-to-find-sum-of-a-year-by-given-dates –
我不認爲你可以使用這些日期函數,除非日期字段是在那些列出的格式之一我在我的回覆中引用了doc。值得注意的是,它需要採用'YYYY-MM-DD'格式(注意也是四個字符年)。或者,如果您的日期不是有效的日期格式,則可以使用簡單的'substr(date,7,2)'從MM-DD-YY格式中獲取兩位數的年份。 – Rob
- 1. 如何在sqlite數據庫中更改日期格式
- 2. 在SQL中更改日期格式
- 3. 在angularjs中更改日期格式
- 4. 在php中更改日期的格式
- 5. 在php中更改日期格式mysql
- 6. 在Ruby中更改日期格式?
- 7. 在SSIS中更改日期格式
- 8. 在VB.Net中更改日期格式
- 9. 在vaadin-grid中更改日期格式
- 10. 在JavaScript中更改日期格式
- 11. 在extjs中更改日期格式
- 12. 在Python中更改日期格式
- 13. 在DatePickerDialog中更改日期格式?
- 14. 在Access中更改日期格式
- 15. 在R中更改日期格式
- 16. 在log4j.xml中更改日期格式
- 17. 在回覆中更改日期格式
- 18. 在php中更改日期格式?
- 19. 在Ubuntu中更改短日期格式
- 20. 在sql中更改日期格式
- 21. 在Excel中更改日期格式
- 22. 在SAS9.3中更改日期格式
- 23. 在linux bash中更改日期格式
- 24. 在vb.net中更改日期格式
- 25. 在xamarin中更改日期格式android
- 26. 在SQL Server中更改日期格式
- 27. 在C#中更改日期格式#
- 28. 在Xcode中更改日期格式?
- 29. 在列表中更改日期格式
- 30. 在oracle中更改日期格式
從您的描述來看,這聽起來像數據首先不是_stored_。在這種情況下,爲了轉換它,你必須自己做,或者將它存儲爲SQLite認可的可以格式化的日期。 – mah
你可以嘗試'日期',我認爲日期必須有''。帶上引號 – hakiko
查看[這裏](http://www.sqlite.org/datatype3.html)中的「日期和時間數據類型」。基本上,SQLite沒有日期數據類型,但有一些首選格式。如果您的日期存儲格式與首選格式不同,那麼您必須選擇「原始」值而不是使用內置日期/時間函數。 –