Aplica-se A
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

Sintomas

Considere o seguinte cenário:

  • Tem um computador que tem o Microsoft SQL Server 2012 instalado.

  • Tem uma consulta que contém uma declaração CASE numa declaração SELECT e uma declaração CASE num comunicado do GRUPO POR.

  • As duas declarações do CASO avaliam a NU.

  • Faça a consulta.

Neste cenário, recebe a seguinte mensagem de erro:

Msg 8120, Nível 16, Estado 1, Linha 3Column '<nome da coluna>' é inválido na lista selecionada porque não está contido numa função agregada ou na cláusula GROUP BY.

Por exemplo, executou a seguinte consulta: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 Na consulta, a afirmação "when 1=2 then t1.col1 else 10" avalia para 10. Quando substitui "10" utilizando NU, esta questão ocorre.NotaEsta questão não ocorre quando remove qualquer uma das declarações case da declaração SELECT ou do comunicado DO GRUPO POR.

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.