我想选择一个以YYYYMMDD格式存储为数据库中INT类型的日期。现在,在这里我有一个场景,用户输入他选择的日期,并且我只想提取低于或等于用户输入值的日期。SQLite日期提取技术
我开始用下面的SQL语句:
"SELECT date FROM transactionRegister WHERE date<='"+dateInput+"'";
但这将加载所有这些都通过,这将只是让我的应用程序效率低下的声明感到满意的结果。
我只想将第一个结果加载到游标中。
我想选择一个以YYYYMMDD格式存储为数据库中INT类型的日期。现在,在这里我有一个场景,用户输入他选择的日期,并且我只想提取低于或等于用户输入值的日期。SQLite日期提取技术
我开始用下面的SQL语句:
"SELECT date FROM transactionRegister WHERE date<='"+dateInput+"'";
但这将加载所有这些都通过,这将只是让我的应用程序效率低下的声明感到满意的结果。
我只想将第一个结果加载到游标中。
如果你想要1个结果,告诉数据库,通过LIMIT 1
。这保证了一个结果(可能不是正确的结果)。
要解决这个问题,请告诉DB如何订购结果,“最接近的第一个”ORDER BY date DESC LIMIT 1
。
只需使用“限制”结束您的SQL语句。你的sql语句必须是这样的:
"SELECT date FROM transactionRegister WHERE date<='"+dateInput+"' ORDER BY date DESC Limit 1";
限制只显示你指定的数字。例如限制20只返回您的语句的20行。