如果日期列选择行如果日期列之间开始和结束日期FMDB请求
我想为我的Objective C项目中的FMDB编写一个SQL查询。如果日期列选择行如果日期列之间开始和结束日期FMDB请求
我的表格由id,num_of_items,startDate,endDate组成。
我的查询看起来像这样
FMResultSet * result = [database executeQuery:@"SELECT * FROM mytablename WHERE date BETWEEN ? AND ? ", lstartDate, lendDate];
运行此代码我收到以下错误的应用程序崩溃后
[1210:2007096] DB Error: 1 "near "TRUNCATE": syntax error"
[1210:2007096] DB Query: TRUNCATE mytablename
日期列包含长值然而,当我已签两lstartDate和lendDate都在该列的数据库表中。
我之后的结果是输出中包含开始日期和结束日期之间的所有值。
试着把单引号放在?的两边。像这样:
FMResultSet * result = [database executeQuery:@"SELECT * FROM mytablename WHERE date BETWEEN '?' AND '?' ", lstartDate, lendDate];
这工作!谢谢 – HurkNburkS
Mike,只是后续问题,您可能可以提供帮助,我的查询不会返回任何值,但是开始日期和结束日期都显示在日期列中。为什么它不会返回日期? – HurkNburkS
我有点困惑,为什么你在表本身有开始和结束的日期,当然你只会在表中有一个日期,然后在该日期运行查询。您正在执行的查询是查找名为'date'的列,并返回'date'在指定日期之间的行。我第一次没有注意到,因为我只是看着你的语法。 – Mike
我想这不是你向我们显示的那条线是产生这个错误。查找包含'TRUNCATE' sql命令的查询 – RiggsFolly