Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

증상

다음과 같은 경우를 생각해 볼 수 있습니다.

  • Microsoft SQL Server 2012가 설치 되어 있는 컴퓨터를 사용 하 고 있습니다.

  • SELECT 문에 case 문이 포함 된 쿼리와 GROUP BY 문의 case 문이 있습니다.

  • 두 CASE 문은 NULL로 평가 됩니다.

  • 쿼리를 실행 합니다.

이 경우 다음과 유사한 내용의 오류 메시지가 나타납니다.

메시지 8120, 수준 16, 상태 1, 줄 3 열 ' <열 이름> '은 (는) 집계 함수 또는 GROUP by 절에 포함 되어 있지 않으므로 선택 목록에서 유효 하지 않습니다.

예를 들어 다음 쿼리를 실행 합니다.create database testgouse testgocreate table tvt ( v1t binary(1) null)create table tln (ln numeric(5) not null)goselectcase when 1=2 then t1.col1else 10end,casewhen t1.col1 = 2 then t1.col2endfrom (select t2.v1t as col1, 10 as col2 from tvt t2) t1group by case when 1=2 then t1.col1else 10end,casewhen t1.col1 = 2 then t1.col2endgo 쿼리에서 "if = 2, t1 (col1) 10"은 10으로 계산 됩니다. NULL을 사용 하 여 "10"을 바꾸면이 문제가 발생 합니다.참고SELECT 문에서 CASE 문 중 하나를 제거 하거나 GROUP BY 문에서이 문제가 발생 하지 않습니다.

각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.

상태

Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.