我在后端SQLite中有一个以整数表示的列,但在Nhibernate映射中有一个布尔解释。我希望我的HQL查询得到'真'行的计数。在SQL中,它可以正常工作为“SUM(BoolColumn)”,但是HQL将返回的值转换为bool。我不能使用where子句,因为我在select中有一些其他COUNT(DISTINCT)列,包括true和false行。
答案 0 :(得分:7)
由于NH认为它有点(无法聚合)你可以在HQL中做这样的事情......
sum(case when BoolColumn = 1 then 1 else 0 end)
您是否定义了从int到bool的自定义映射,或者假设int只是1或0?
答案 1 :(得分:1)
这对我有用:
sum(case when BoolColumn = true then 1 else 0 end)