2012-01-16 211 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

相關問題