【问题标题】:HQL Where clause with Case if field is null如果字段为空,HQL Where 子句与 Case
【发布时间】:2018-06-17 13:17:09
【问题描述】:

我有一个 HQL 查询在 2 个表之间连接,field1 可能为空或有值。

如果它在第一个表中为空,我必须检查第二个表中是否为空,但如果它具有值,我必须检查table1.field1=table1.field1

如何在 HQL 中使用“Case When”来做到这一点?

【问题讨论】:

    标签: hibernate case hql where-clause clause


    【解决方案1】:

    我认为 HQL 查询应该是这样的:

    SELECT t1 FROM Table1 t1, Table2 t2
    WHERE t1.t2 = t2 AND
    t1.field1 = (CASE WHEN t2.field1 is null THEN NULL ELSE t2.field1 END)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 2011-08-07
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多