更改日期格式,这是在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没有日期数据类型,但有一些首选格式。如果您的日期存储格式与首选格式不同,那么您必须选择“原始”值而不是使用内置日期/时间函数。 –