目标C,SQLite SELECT BETWEEN问题

| 我试图基于UNIX时间戳从SQLite数据库中提取记录,该记录由滚动条选择。每个记录都有一个时间戳和一个持续时间,因此,当所选时间戳位于开始时间之后,开始时间加上持续时间之后时,将选择该时间戳。 我已经编写了一个查询,我认为它不仅可以工作,而且可以在我拥有但不使用XCode附带的SQLite的SQLite客户端中工作。
SELECT * FROM `booking` WHERE \'1304168400\' BETWEEN `stamp` AND (`stamp`+(`duration`*60))
这是我的查询。时间戳是选定的时间戳,戳记字段是记录的时间戳,持续时间是预订的长度(以分钟为单位)。 我能看到的使用我拥有的客户端的唯一原因是SQLite的版本不同,或者不支持BETWEEN命令,或者不以相同方式支持BETWEEN命令。 任何建议或帮助,将不胜感激。 谢谢!     
已邀请:
这就是SQLite查询进入SQLite时的外观。 (在文字时间戳上没有引号,没有反引号。)如果您可以使用SQLite打开数据库并运行此查询,则此语法应该起作用。
sqlite> SELECT *
        FROM booking
        WHERE 1304168400 BETWEEN stamp and (stamp + (duration * 60));
用双引号(而不是反引号)保护标识符。
sqlite> SELECT *
        FROM \"booking\"
        WHERE 1304168400 BETWEEN \"stamp\" and (\"stamp\" + (\"duration\" * 60));
您可以通过此查询确定运行哪个版本的SQLite。
sqlite> select sqlite_version();
    

要回复问题请先登录注册