【问题标题】:i used Apache drill with MongoDB database i get data from other field but i did not get data by data我将 Apache Drill 与 MongoDB 数据库一起使用,我从其他字段获取数据,但我没有通过数据获取数据
【发布时间】:2022-08-09 20:35:52
【问题描述】:
select * from mongo.test.users where datetime=\'2022-07-28T05:16:42.877+00:00\';

我将 Apache Drill 与 MongoDB 数据库一起使用,我从其他字段获取数据,但我没有通过数据获取数据.. 当我将日期更改为字符串时,它会显示,但在日期格式中我没有得到任何响应

    标签: sql mongodb apache-drill


    【解决方案1】:

    我的猜测是您在这里发生了数据类型错误。我的猜测是 datetime 字段实际上被解释为日期。 Drill 不会自动将字符串转换为时间戳,因此在上面的查询中,在您的 WHERE 子句中,您实际上是将字符串与时间戳进行比较,因此得到零结果。

    要验证这一点,请尝试以下查询:

    SELECT typeof(`datetime`) FROM from mongo.test.users LIMIT 1
    

    如果结果以某种时间戳的形式返回,那么要解决此问题,您只需将字符串转换为时间戳,如下所示:

    SELECT ...
    FROM ...
    WHERE `datetime` = CAST ('<date>' AS TIMESTAMP)
    

    在这里查看有关数据类型转换的 Drill 文档:https://drill.apache.org/docs/data-type-conversion/

    【讨论】:

      猜你喜欢
      • 2019-04-22
      • 2023-02-22
      • 2020-10-08
      • 2018-10-07
      • 1970-01-01
      • 2016-08-27
      • 2021-09-16
      • 1970-01-01
      • 2023-02-13
      相关资源
      最近更新 更多