DB

[Mybatis] 숫자 컬럼인데 값이 0일때 컬럼값 != null and 컬럼값 !='' 을 통과하지 못해서 값이 없는 것으로 처리될때

오선지♬ 2024. 11. 3. 13:55
728x90
반응형

 

<set>을 사용해서 안에 컬럼 값이 전부 

<if> 처리해서 값이 null 이나 빈문자열이 아니면 update 하려고 작성을 하였는데,

값이 전부 0 이니까 아무 값도 없는 것으로 나와서 

update 문에 SET 이 빠진 것으로 간주되어 에러가 났다.

어차피 null 이면 0으로 입력한다는 

 

COALESCE(TO_NUMBER(NULL),0) 으로 작성해 둬서 if문을 다 뺐다.

 

MyBatis에서 `<if>` 문에서 값을 평가할 때 `null`, `""` (빈 문자열), 때로는 `0`과 같은 특정 값이 "falsy"로 동작할 수 있습니다. 즉, 특히 표현식이 부울 검사와 유사한 경우 조건 검사를 통과하지 못합니다. ### MyBatis에서 Falsy 값과 `0`에 대한 설명 **JavaScript**와 같은 프로그래밍 언어에서 `null`, `undefined`, `""` (빈 문자열), `0`, `NaN`, `false`와 같은 값은 "falsy"로 간주됩니다. 조건에서 평가될 때 이러한 값은 `false`와 동일하게 처리됩니다.

 

아니면

728x90
반응형