나는 곧장 겉으로 드러나지 만 어떤 이유로 나는 타격 선택에서 내 널 값을 제거 할 수없는 문제가있다. 이 작업을 수행하기 위해서는 NULL 값이없는 행 하나만 반환하면됩니다. 누군가 내 방식으로 오류를 지적 할 수 있습니까? :)이 놈들 빼기 NULLS
실행할 때 내가 얻을 결과 :
EffectiveDate Refund
2015-05-18 00:00:00.000 NULL
2015-05-18 00:00:00.000 1
내가 다시 기대 :
EffectiveDate Refund
2015-05-18 00:00:00.000 1
내 쿼리 :
select md.EffectiveDate,
CASE
WHEN
ISNULL(ConfigID,'') = 3 THEN '1'
WHEN
ISNULL(ConfigID,'') = 4 THEN '2'
END AS Refund
from dbo.PartnerBankConfig md
where md.PartnerID= 100000509
and md.EffectiveDate = (select max(EffectiveDate)
from dbo.PartnerBankConfig
where PartnerID = 100000509
and ISNULL(ConfigID,'') IS NOT NULL)
당신은 다음 빈 문자열로 널 (null)을 변환하는 ISNULL을 사용하는 경우 것은 NOT NULL는 않을 것입니다 True로 평가하십시오 ... –
@JacobH : 거짓으로 평가되지 않습니다 –
'및 ISNULL (ConfigID, '') IS NOT NULL)을'및 ConfigID IS NOT NULL'로 바꿉니다. –