IS NULL 및 NOT NULL을 가진 CASE 문


12

SQL Server 2005에서 아래 줄을 작성하는 더 좋은 방법이 있습니까?

CASE
WHEN (ID IS NULL)
   THEN 'YES'
WHEN (ID IS NOT NULL)
   THEN 'NO'
END AS ID_Value,

3
"더 나은"을 정의하십시오.
웨슬리

MSSQL에 익숙하지 않지만 MySQL에 IF 함수와 같은 것이 있다면 다음과 같은 코드를 작성할 수 있습니다.IF(ID IS NULL, 'YES', 'NO') AS ID_Value
Kondybas

1
SQL Server 2012에는 IIF질문이 있지만 2005 태그가 있습니다.
Martin Smith

아래 진술을 통해이를 달성 할 수 있어야합니다. isnull(nullif(isnull(ID,'Y'),ID),'N')
Jason Cumberland

1
@ Bappy1988 왜 Jay의 대답보다 낫습니까?
dezso

답변:


16

시도해 보았 니:

CASE WHEN (ID IS NULL) THEN 'YES' ELSE 'NO' END AS ID_Value,

나는 지금 2008 년에만 액세스 할 수 있지만이 구문이 2005 년에도 계속 작동하기를 희망합니다 ( 원래 정의의 일부인 것처럼 보입니다CASE ).


예-시도 CASE WHEN (ID IS NULL) THEN 'YES' ELSE 'NO' END AS ID_Value했지만 IF(ID IS NULL, 'YES', 'NO') AS ID_ValueMs Sql 과 같은 다른 더 나은 접근 방식을 찾고 있으므로 모든 것이 한 줄에있을 수 있습니다. 모든 제안을 부탁드립니다

7
이 답변은 한 줄로되어 있습니다. 원하는 경우 전체 문장을 한 줄에 넣을 수 있습니다.
ypercubeᵀᴹ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.