在sqlite中更改date格式
更改date格式这是在sqlite数据库12/10/11 to 12-10-11 (mm-dd-yy)
我无法这样做。我是一个noob在sqlite中,必须parsing此值SELECT strftime('%d-%m-%Y',Date) from report
但我越来越null作为sqlite数据库除了价值在mm-dd-yy
所以如何转换格式12/10/11 to 12-10-11 (mm-dd-yy)
。预先感谢。真的很感谢帮助。
简短的回答:
如果您有一个存储为"12/10/11"
的文本string,您希望报告为"12-10-11"
,则应该使用replace(X,Y,Z)
函数来replaceX
出现的Y
Z
从而:
SELECT replace('12/24/11','/','-');
将返回:
12-10-11
漫长的回答:
首先,date在SQLite中并不是真正的数据types。 它们存储为TEXT,REAL或INTEGER值。 在SQLite中查看date和时间数据types 。 所以这取决于你的date如何存储在数据库中。
其次,您似乎暗示以“ mm/dd/yy
”格式存储date。 这不是一个有效/有用的TEXT
格式来存储date/时间值(因为date不能sorting,不能用于“大于”和“小于”的操作,不能用于SQLitedate函数等)。 您确实需要使用date和时间函数文档的“时间string”部分中列出的格式之一来存储date时间值。
所以,通常你应该把你的date/时间值存储为这些格式中的一种,使用NSDateFormatter
将其转换为NSDate
。 而当你想在你的应用程序中显示date值,使用任何你想要的输出格式。
但是,如果你不关心date存储为文本string,并且在SQLite中不能有效地用作date,那么就把它当作普通的旧的TEXT
string,并使用TEXT
函数,比如replace(X,Y,Z)
用"-"
replace"/"
出现,如上所述。