【问题标题】:How to search a column in an SQLite database for specific text?如何在 SQLite 数据库中的列中搜索特定文本?
【发布时间】:2011-07-21 18:06:30
【问题描述】:

更具体地说,我的只读数据库的前两列是行号(_id 整数主键),以及文本格式 7/21/2011 HH:MM:SS PM 的日期和时间。在我的 Android 应用程序中,用户选择开始和结束时间 (HH:MM),然后以图形方式显示有关该时间间隔的数据。如何在我的数据库的第二行搜索输入的时间?

【问题讨论】:

    标签: android sqlite search text


    【解决方案1】:

    所以如果你的 Date Column 包含 TEXT(因为 SQLite 中没有 DATE),你应该使用 SQLite 函数

        strftime(format, timestring, modifier, modifier, ...)
    

    请参阅文档SQLite Date functions

    所以你的 SQL 查询可能看起来像这样:

        SELECT * FROM mytable WHERE strftime('MM-DD-YYYY HH:MM:SS', date_column) < strftime('MM-DD-YYYY HH:MM:SS', '7/21/2010 22:00:00')
    

    最后一个日期参数将是输入的日期。

    【讨论】:

    • 我使用的是 12 小时制。有没有办法在查询中添加 AM/PM?
    • 恐怕您将不得不在代码中执行此操作。这是一个可以帮助您解决问题的链接SQLite AM/PM。希望这会有所帮助。
    【解决方案2】:

    我不熟悉 SQL 时间命令。如果您选择所有行,然后使用 Date 对象及其 .compareTo() 方法在 java 代码中处理它们,则只能显示用户感兴趣的行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      • 2019-06-04
      相关资源
      最近更新 更多