2012-01-16 206 views
0

我想对数据库中的表中的某一列进行更新,并执行一些简单的算术操作,例如add.But我的列是nullable。 因此,为了不产生错误,我需要先检查它是否为空。 我碰到nullif函数在休眠,但我不知道这个的用法。 有人知道nullif的用法吗?如何在hibernate中更新hql语句中使用nullif()函数?

我想在更新HQL语句中使用它来检查列是否为空,然后在字段上执行加法。

谢谢。 :)

回答

1

签名nullif(column, "valueifcolumn is null")

所以在更新不Update x set x.y = nullif(x.z, 0) + 123

+0

它不使用它你me..Is工作? :('executeUpdate'返回1,但表没有更新增量 – 2012-01-17 02:12:29

+0

我只能用NHibernate和sqlite在这里测试它,它没有看到null int为null,并且总是取原始的null值。 。如果该属性是非null它增量就好了 – Firo 2012-01-17 11:05:15

+0

我读了,nullif只适用于WHERE子句。但无论如何谢谢。:) – 2012-01-18 00:12:53

相关问题