0

嗨,我需要做一个查询,比较两个日期并选择在这两个日期之间创建的所有对象。

我的日期字段是文本类型。

我已经运行了一些测试,显然日期是以 YYYY-MM-DD 格式存储的。

我使用此代码进行查询:

return bd.query("Gasto", null , "Fecha_Creado between '"+fecha1+ "' and '"+fecha2+"'", null, null, null, "Fecha_Creado DESC", null);

这段代码用于检索日期并将它们传递给上一个函数

return bd.obtenerGastosVar(fecha.get(Calendar.YEAR)+"-"+(fecha.get(Calendar.MONTH)+1)+"-1", 
            fecha.get(Calendar.YEAR)+"-"+(fecha.get(Calendar.MONTH)+1)+"-"+fecha.getActualMaximum(Calendar.DAY_OF_MONTH), ordenadoPor);

所以最终结果应该是一个查询:
select * from gasto where date between date1 and date2 so thats select * from gasto where date between 2013-8-1 and 2013-8-31

因此,该查询应该与以前的 YYYY-MM-DD 进行日期比较。

我期待在这两个日期之间创建对象,但它不起作用。它在一小时前工作

我做了一些有趣的事情并用于查询日期,DD-MM-YYYY 格式。这显然是有效的,但我害怕使用这种格式进行查询会带来不可靠的结果。

那么我怎样才能解决这个问题并仍然获得可靠的结果呢?

谢谢你的帮助

4

1 回答 1

2

显然,为了让我能够比较日期,取得好的结果,日期必须有 2 位数的月份和日期

例如 2013-04-09 或 2013-11-25

带有一位数月份或日期的日期不起作用

于 2013-08-05T03:09:11.030 回答