代码之家  ›  专栏  ›  技术社区  ›  pewocis495

过滤hh:mm:ss部件上的SQlite unix时间戳数据

  •  0
  • pewocis495  · 技术社区  · 3 年前

    我的SQlite数据库中有以下记录。

          **SESSION**                     **DATETIME    **BID**    ASK**
    25e309b5-eecd-49f7-a1e4-0a77d4804978    1650240126  1979.74 1979.99
    25e309b5-eecd-49f7-a1e4-0a77d4804978    1650240129  1979.73 1979.97
    25e309b5-eecd-49f7-a1e4-0a77d4804978    1650240129  1979.73 1979.92
    25e309b5-eecd-49f7-a1e4-0a77d4804978    1650240129  1979.7  1979.92
    25e309b5-eecd-49f7-a1e4-0a77d4804978    1650240130  1979.68 1979.91
    25e309b5-eecd-49f7-a1e4-0a77d4804978    1650240130  1979.68 1979.89
    

    我的目标是从DATETIME字段中提取hh:mm:ss时间并对其进行过滤。看起来应该是这样的

    SELECT * from table where strftime('%H:%M:%S',Datetime) < '00:02:05'
    

    这个查询的问题是它不起作用。

    有没有办法从unix时代提取部件,并将其与我的自定义部件进行比较?

    1 回复  |  直到 3 年前
        1
  •  1
  •   forpas    3 年前

    你需要这个功能 time() 'unixepoch' 修饰语:

    SELECT * 
    FROM tablename 
    WHERE time(DATETIME, 'unixepoch') < '00:02:05';