当前位置: 首页 > 知识库问答 >
问题:

查询生成器返回不正确的日期时间比较查询结果

南门鸿畴
2023-03-14

我有这样的疑问:

return DB::table('electricity_meters')
->where('electricity_meters.id', 16)
->leftJoin('service_instances', 'service_instances.electricity_meter_id', '=', 'electricity_meters.id')
->leftJoin('readings', 'electricity_meters.kwh_param_id', '=', 'readings.parameter_id')
->where('readings.taken_at', '>', 'service_instances.active_to')
->select([
    'readings.taken_at',
    'service_instances.active_to',
])
->get();

请注意“readings.taken_at”,“>”,“service_instances.active_to”,但不知为什么结果是...

[
    {
        taken_at: "2021-02-16 23:59:59",
        active_to: "2021-03-28"
    },
    ...
]

我错过了什么?

共有1个答案

濮阳茂材
2023-03-14

我认为您想比较两列,如果是这样的话,您应该使用whereColumn:

return DB::table('electricity_meters')
->where('electricity_meters.id', 16)
->leftJoin('service_instances', 'service_instances.electricity_meter_id', '=', 'electricity_meters.id')
->leftJoin('readings', 'electricity_meters.kwh_param_id', '=', 'readings.parameter_id')
->whereColumn('readings.taken_at', '>', 'service_instances.active_to')
->select([
    'readings.taken_at',
    'service_instances.active_to',
])
->get();
 类似资料:
  • 以下是我的疑问.... 我没有结果。 另外,我正在使用这个插件来生成请求正文。 我的查询如下所示.. null 感谢您到目前为止的阅读,如果有人能帮助我找出如何使这一工作,我将非常感谢。

  • 我有一个复合密钥的实体。订阅和源具有多对多的关系。 我正在使用Spring数据存储库来处理它。 当我尝试使用方法saveAll时,它会抛出 “com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception:未知列'subscripti0_.subscription_id'” 同时尝试在保存后返回值。 Hibernate生成以下查询: 所以,现在我

  • 后继版本:10.4 表列名/类型:带时区的updated_at timestamp(6) Java方法: 这个查询和方法在H2数据库中很好地工作。然而,当使用Postgress数据库对其进行测试时,我得到以下异常 我也尝试了FetchFromTime.ToLocalDateTime(),但得到了相同的异常。

  • 我的数据库有一列是 当生成实体时,它在实体类中创建了一个< code>Timestamp字段。 我的传入对象是一个< code>java.util.Date对象。< code >开始日期和< code >结束日期。 我需要编写一个 JPA 查询,该查询将获取在日期和之间的记录。它正在考虑时间。 查询条件

  • Created_date类型为date 日期格式默认为yyyy-dd-MM

  • 我正在玩mongob,并将一些测试数据{name:"david"}输入到“用户”集合中。我通过键入mongoshell验证了数据在MongoDB中 结果: 在 node.js 脚本中,使用以下代码: 不返回任何结果 我没有发现任何错误,也没有错误。请告知