如何在 swift 中按日期按月和年执行 SQL 提取/获取记录的等效操作?
有两个要求:
按月份和年份列出记录
- 2015 年 9 月
- 2015 年 10 月
显示年份和月份的交易。
编辑:我指的是核心数据。将“SQL 中的等效项”改为“SQL 的等效项”以进行澄清。
最佳答案
CoreData 会将日期存储为 double ,这是 NSDate
的内部格式。
如果您有一个小型数据库,只需将值存储为 NSDate
并根据该值进行过滤。
但是,如果您有一个大型数据库,您可能需要对数据进行更多的非规范化。
您可以存储另一个字段,例如“yyyymmdd”格式,这可以为您提供所需的大部分过滤功能。
为了进行更细粒度的控制,您还可以保留年、月和日的单独属性。
如果您对大量数据进行大量搜索,您可能还想将这些字段设置为索引。
请记住,CoreData 在大多数数据库的底层都使用 SQLite,但它的行为特征非常不同。
没有通用的“最佳”方法,因为它完全取决于您的数据以及您如何使用它。
关于swift - 我是否应该在核心数据中将日期字段分解为月、日和年,以便轻松地按月和年分组和获取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33227058/