레이블이 null인 게시물을 표시합니다. 모든 게시물 표시
레이블이 null인 게시물을 표시합니다. 모든 게시물 표시

MySql - IFNULL, ISNULL, IF 사용하기

*** IFNULL ***
IFNULL (VAL1, VAL2)
VAL1의 값이 null이 아니면 VAL1, null 이면 VAL2를 리턴한다.

ex)
SELECT IFNULL('VAL', 'N');   => VAL
SELECT IFNULL(NULL, 'N');   => N

*** ISNULL ***
ISNULL (VAL1)
VAL1의 값이 null이면 1(true), null이 아니면 0(false)를 리턴한다.

ex)
SELECT ISNULL('A');     => 0 (false)
SELECT ISNULL(NULL);   => 1 (true)

*** IF ***
IF (VAL1, VAL2, VAL3)
VAL1의 값이 true이면 VAL2, false이면 VAL3를 리턴한다.

ex)
SELECT IF(1, 'Y', 'N');   => Y
SELECT IF(0, 'Y', 'N');    => N
SELECT IF(TRUE, 'Y', 'N');    => Y
SELECT IF(FALSE, 'Y', 'N');    => N

JsonInclude

* JSON 생성시  null 인 항목은 제외하도록 설정할 떄 사용.

* ex)
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

@JsonInclude(Include.NON_NULL)
public class User implements Serializable
{
}

Oracle - null 값 체크 - NVL, NVL2

*** 문법 ***
NVL(Expression, Value)
  => Expression : null 여부를 체크할 컬럼 or 표현식
       Value         : Expression 값이 null인 경우 return 할 값.
                          null이 아니면 Expression 값 return

NVL2(Expression, Value1, Value2)
  => Expression : null 여부를 체크할 컬럼 or 표현식
       Value1        : Expression 값이 null이 아닌 경우 return 할 값.
       Value2        : Expression 값이 null인 경우 return 할 값.


*** 예제 ***
SELECT NVL('A', 'N') from DUAL;           -- 결과 : A
SELECT NVL(NULL, 'N') from DUAL;       -- 결과 : N

SELECT NVL2('A', 'Y', 'N') from DUAL;            -- 결과 : Y
SELECT NVL2(NULL, 'Y', 'N') from DUAL;        -- 결과 : N