【问题标题】:Sqlite group dates by daySqlite 分组日期按天
【发布时间】:2013-08-28 18:27:19
【问题描述】:

我正在尝试从表中检索不同日期的列表。它们以整数形式存储。

cal.getTime().getTime()

返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

我写的

select strftime('%d-%m-%Y'," + date_clmn + ") from "
                + TABLE_NAME +" group by strftime('%d-%m-%Y'," + date_clmn + ")"

接下来,我将这些值转换为字符串。 我得到了什么:

24-11--471

之后,当我尝试使用

进行查询时
strftime('%d-%m-%Y',date_clmn)=24-11--471

我什么也得不到。

怎么了?

使用这种方式我会遇到时区问题吗?

如果有其他方法可以做到,我会很高兴听到你的声音。

提前致谢。

更新

Tried "date(" + date_clmn+ ",'unixepoch')"
now retrieved value is "1970-01-01"

【问题讨论】:

  • 我认为比较是strftime('%d-%m-%Y',date_clmn) = '24-11--471'。只需将 24-11--471 括在单引号中,因为您需要比较两个字符串,而且显然 sqlite 没有检测到这种类型不匹配,即使查询运行完美,但它当然不会检索任何行。如果它有效并且您同意我可以将其作为答案提交。
  • 谢谢,它也在那里! @dic19

标签: java android sqlite date


【解决方案1】:

由于您没有在表格中存储日期,因此您需要更改字段。试试这段代码:

"select strftime('%d-%m-%Y'," + date_clmn + "/1000,'unixepoch') from "
+ TABLE_NAME +" group by strftime('%d-%m-%Y'," + date_clmn + "/1000,'unixepoch')"

【讨论】:

    【解决方案2】:

    我添加这个是因为我认为它可能对某人有所帮助。根据documentation strftime() 返回给定格式的字符串日期。所以在这个子句中:

    strftime('%d-%m-%Y',date_clmn) = 24-11--471
        ^                               ^
      string                         this expression returns an integer
    

    这里有一个 SQLite 没有检测到的类型不匹配。甚至查询也能完美运行(我测试过,运行没有错误),但它当然不会检索任何行。

    正确的比较是:

    strftime('%d-%m-%Y',date_clmn) = '24-11--471'
    

    测试:这里有一小段代码来测试这种行为:

    CREATE TABLE dateTest(myDate VARCHAR);
    INSERT INTO dateTest(myDate) VALUES ('2013-08-29 18:57:00');
    SELECT strftime('%Y-%m-%d',myDate) AS formatted, myDate FROM dateTest WHERE strftime('%Y-%m-%d') = 2013-08-29; /* this won't retrieve any row */
    SELECT strftime('%Y-%m-%d',myDate) AS formatted, myDate FROM dateTest WHERE strftime('%Y-%m-%d') = '2013-08-29'; /* this will retrieve '2013-08-29 | '2013-08-29 18:57:00' */
    

    这是输出:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多