2012-01-16 3 views
0

데이터베이스에서 내 테이블의 특정 열에 대한 업데이트를 수행하고 add.But과 같은 간단한 산술 연산을 수행하고 싶습니다. 내 열은 nullable입니다. 그래서 오류가 발생하지 않도록 먼저 null인지 확인해야합니다. 나는 최대 절전 모드에서 nullif 기능에 부딪친 다. 그러나 나는 이것의 사용법을 모른다. 누구나 nullif의 사용법을 알고 있습니까?hibernate에서 update hql 문에 nullif() 함수를 사용하는 방법?

업데이트 HQL 문에서 이것을 사용하여 열이 null인지 확인한 다음 필드에 추가를 수행하고 싶습니다.

감사합니다. :)

답변

1

서명은 nullif(column, "valueifcolumn is null")

그래서 업데이 트에 않습니다 Update x set x.y = nullif(x.z, 0) + 123

+0

의 당신 작업 me..Is 작동하지? :('executeUpdate'는 1을 반환하지만 테이블은 증가하도록 업데이트되지 않습니다.) –

+0

NHibernate와 sqlite에서만 여기를 테스트 할 수 있습니다. null을 null로 간주하고 항상 원래의 Null 값을가집니다. . 속성이 null이 아니면 그냥 괜찮 으면 증가합니다. – Firo

+0

nullif는 WHERE 절에서만 작동합니다.하지만 어쨌든 고맙습니다. :) –

관련 문제