FMDB - 基于日期的查询过滤

时间:2014-02-24 21:49:04

标签: ios iphone sqlite ios7 fmdb

如何查询“可见”日期之后的游戏? dateformat已设置:

FMDatabase *db = self.database;
        if([self.database open]){
            [db beginTransaction];

            NSDateFormatter *formatter = [NSDateFormatter new];
            [formatter setDateFormat:@"yyyy-dd-MM'T'HH:mm:ss'Z'"];
            [db setDateFormat:formatter];

表格按以下方式创建:

[db executeUpdate:@"CREATE TABLE IF NOT EXISTS game (gameId Varchar(36) NOT NULL PRIMARY KEY,name TEXT,visibleFrom TEXT)"];

查询按以下方式执行:

FMResultSet *results = [db executeQuery:@"SELECT * FROM game WHERE game.visibleFrom >= ?,[NSDate date]];

这不会返回任何内容。当我使用select * from game时,我就可以获得所有游戏。但我需要过滤结果。提前谢谢。

1 个答案:

答案 0 :(得分:1)

查看用于查询日期的SQLite语法:sqlite select with condition on date 您可能需要类似“@”的内容...其中date> date(?)“,formattedDate',其中formattedDate的格式为'1980-12-31'