MySQL & MariaDB2017. 3. 20. 15:58

MySql과 MariaDB에서 Function을 사용 할때나 일반적인 쿼리를 사용 할경우 IFNULL을 사용할때가 있다.

이때 쿼리의 결과가 있는 경우와 없는 경우가 있는데..

쿼리의 결과가 있는 경우에는 IFNULL이 정상 작동해서 Null일 경우에 처리 되는 값이 정상적으로 처리가 된다.

하지만 쿼리의 결과가 1Row도 없을 경우에는 값이 제대로 나오지 않는다.

이럴경우에는 IFNULL을 사용하나 마인 상황이 발생한다.


IFNULL(MIN(컬럼), 0)

IFNULL(MAX(컬럼), 0)


위와 같이 IFNULL처리하는 컬럼에 MIN이나 MAX로 한번 감싸면 문제는 해결 된다.

IFNULL이 아니더라도 적어도 1개의 Row가 나와야 하는 상황이라면 MIN이나 MAX로 감싸도록 하자.



Posted by Z700zZz