이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 15127|회답: 0

[출처] IFNULL, NULLIF 및 ISNULL 사용

[링크 복사]
게시됨 2018. 5. 11. 오후 1:37:59 | | |
isnull, ifnull, nullif의 사용법은 다음과 같습니다:

isnull(expr)의 사용법:expr이 null이면 isnull()은 1의 값을 반환하고, 그렇지 않으면 0을 반환합니다.
mySQL> select isnull(1+1);
-> 0
mySQL> select isnull(1/0);
-> 1
null value 비교에 = 사용하는 것은 보통 잘못된 선택입니다.

isnull() 함수는 is null 비교 연산자와 일부 동일한 특성을 공유합니다. 주석을 참고하세요.

IFNULL(expr1, expr2) 사용:

expr1이 NULL이 아니면 IFNULL()의 반환 값은 expr1이 됩니다;
그렇지 않으면 expr2 값을 반환합니다. IFNULL()은 사용되는 맥락에 따라 숫자 또는 문자열을 반환합니다.

mysql> SELECT IFNULL(1,0);
-> 1
MYSQL> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
MYSQL> SELECT
IFNULL(1/0, '예');

-> '네'

IFNULL(expr1, expr2)의 기본 결과 값은 STRING, REAL, 또는 순서로 두 표현식 중 더 "일반적"인 값입니다
정수. 표현식 기반 테이블이나 MySQL이 IFNULL()의 반환 값을 내부 메모리의 임시 테이블에 저장해야 하는 상황을 가정해 봅시다:
CREATE table tmp SELECT IFNULL(1,'test') as test;
이 예시에서 테스트 열은 CHAR(4) 타입입니다.
NULLIF(expr1, expr2) 사용:  
만약 expr1
= expr2가 참이면 반환 값은 NULL이고, 그렇지 않으면 반환 값은 expr1입니다. 이는 CASE WHEN expr1 = expr2와 동일합니다.
그럼 NULL ELSE EXPR1 END는 동일합니다.
MYSQL> SELECT
NULLIF(1,1);

-> 널
mysql> SELECT NULLIF(1,2);
-> 1
매개변수가 같지 않으면 MySQL은 expr1 값을 두 번 받습니다.






이전의:서버 CPU 하드웨어 성능 테스트
다음:MySQL을 사용해 백만 레벨이 넘는 데이터를 처리할 때는 반드시 알아야 할 몇 가지 상식이 있습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com