gpt4 book ai didi

ios - 在sqlite中更改日期格式

转载 作者:行者123 更新时间:2023-11-29 13:22:37 32 4
gpt4 key购买 nike

将 sqlite db 12/10/11 中的日期格式更改为 12-10-11 (mm-dd-yy) 我无法这样做。我是 sqlite 的菜鸟并且必须从报告中解析此值 SELECT strftime('%d-%m-%Y',Date) 但我得到 null 因为 sqlite db excepts value in mm-dd-yy 那么如何将格式 12/10/11 转换为 12-10-11 (mm-dd-yy)。提前致谢。非常感谢您的帮助。

最佳答案

简短的回答:

如果您有一个存储为 "12/10/11" 的文本字符串,而您希望将其报告为 "12-10-11",则应使用 replace(X,Y,Z)函数,将 X 中出现的 Y 替换为 Z。因此:

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) 将出现的 "/" 替换为 "-" ,如上所述。

关于ios - 在sqlite中更改日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14021609/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com