SQL COALESCE 함수와 NULL

SQL COALESCE 함수를 사용할 때를 아는 것은 NULL 을 다룰 때 생명의 은인입니다.

아시다시피 NULL 은 까다로운 개념이며 표현식에서 null 이”만지는”것처럼 보이며 결과 NULL 을 렌더링합니다. 그래서,당신이 NULL 을 다룰 때,당신은 어떻게 사이클에서 벗어날 수 있습니까? 즉,대신 다른 값을 어떻게 표시 할 수 있습니까?이것은 SQL 합체가 이루어지는 곳입니다. 이 함수를 사용하면 NULL 을 테스트하고 존재할 때 NULL 을 다른 값으로 대체 할 수 있습니다.

합체 란 무엇입니까?,

COALESCE 는 내장 SQLServer 함수입니다. NULL 을 다른 값으로 대체해야 할 때 COALESCE 를 사용하십시오. 이 형식은 다음과 같습니다.

COALESCE(value1, value2, ..., valuen)

값 목록에서 첫 번째 비 NULL 을 반환합니다.

lahmans Baseball Database 의 야구 공원을 고려하십시오., 우리가 원하는 경우 표시 parkname 장소에서의 parkalias 할 수 있는 null,COALESCE 잘 작동하기:

선택 COALESCE(parkalias,parkname)로 ParkAlias,도시, stateFROM 공원
-- AnswerSELECT COALESCE(parkalias, parkname) as ParkAlias, city, stateFROM Parks

이 예제에서 병합(parkalias,parkname)반환하는 값에서 발견 parkalias 지 않은 경우에는 NULL;그러나 이 경우 NULL,다음 parkname 이 반환됩니다.

parkalias 가 NULL 인 경우’알 수 없음’을 표시하려는 경우 어떤 SQL 을 작성 하시겠습니까?, 왜 하려고 쓰는 쿼리를 여기에는 시작이다…

비교 SQL 병합하는 경우

알았는 SQL COALESCE 바로가기 위한 경우는 문장인가요?

answerID,option1,option2,option3 열이있는 테이블 조사를 고려하십시오.

answerID 및 첫 번째 NULL 이 아닌 옵션을 나열하려고합니다.

에서 우리가 배운 것을 우리가 사용할 수 있습니다 병합으로.

SELECT answerID,
COALESCE(option1, option2, option3, 'No Option Selected')
FROM survey

이 바로 가기 위해 이 경우 성명:

SELECT answerID,
CASE
WHEN option1 is not NULL then option1
WHEN option2 is not NULL then option2
WHEN option3 is not NULL then option3
ELSE 'No Option Selected'
END
FROM survey

경우에서 사용되는 더 상황이지만,교체할 때 NULL,COALESCE 편리한 바로 가기!,기록을 위해 SQL Server 에는 배우고 탐색 할 수있는 더 많은 흥미로운 기능이 있습니다. 이미 그렇게하지 않았다면 텍스트 데이터를 조작하기 위해 이러한 문자열 함수를 확인하십시오!

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다

도구 모음으로 건너뛰기