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

Ознаки

Розглянемо такий сценарій:

  • У вас є комп'ютер, на якому інстальовано Microsoft SQL Server 2012.

  • У вас є запит, який містить оператор Case у операторі Select , і оператор Case у групі за заявою.

  • У двох заявах про регістр обчислюється NULL-значення.

  • Ви запускаєте запит.

У цьому сценарії з'являється таке повідомлення про помилку:

MSG 8120, рівень 16, стан 1, рядок 3Column "<ім'я стовпця>" неприпустимий у списку Select, оскільки він не міститься в агрегатній функції або групі за речення.

Наприклад, ви запускаєте такий запит: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 У запиті оператор "коли 1 = 2, а потім T1. Col1 ще 10" обчислює 10. Коли ви замінюєте "10" за допомогою NULL, ця проблема виникає.Примітка.Ця проблема не виникає, коли ви видаляєте будь-який із заяв про інцидент із інструкції Select або з групи за заявою.

Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.