Udostępnij za pośrednictwem


Za pomocą sprawy

Kilka warunków i zwraca jedną wartość dla każdego warunku jest używane wyrażenie CASE.Umożliwia na przykład alternatywne wartości mają być wyświetlane w zależności od wartości kolumna.Ta zmiana w danych jest tymczasowa. dlatego są stałe zmian danych.

Wyrażenie CASE składa się z:

  • Słowo kluczowe sprawy.

  • Nazwa kolumna do przekształcenia.

  • Klauzule podczas określania wyrażeniach wyszukiwania i następnie określenie wyrażenia, aby zastąpić je z klauzul.

  • Opcjonalna klauzula ELSE Definiowanie wyrażenie zwracane, jeśli operacja porównania nie ma wartość PRAWDA.

  • KONIEC słowo kluczowe.

  • Opcjonalny Definiowanie alias w przypadku wyrażenie klauzula.

Wspólne wykorzystanie wyrażenie CASE ma zastąpić bardziej czytelny wartości kodów lub skróty.W poniższym przykładzie użyto CASE funkcja, aby zmienić sposób wyświetlania kategorii linii produktu, aby uczynić je bardziej zrozumiałym.

USE AdventureWorks2008R2;
GO
SELECT   ProductNumber, Category =
      CASE ProductLine
         WHEN 'R' THEN 'Road'
         WHEN 'M' THEN 'Mountain'
         WHEN 'T' THEN 'Touring'
         WHEN 'S' THEN 'Other sale items'
         ELSE 'Not for sale'
      END,
   Name
FROM Production.Product
ORDER BY ProductNumber;
GO

Użyj innego przypadku jest klasyfikowanie danych.Następujące kwerendy używa CASE funkcja kategoryzowania ceny.

USE AdventureWorks2008R2;
GO
SELECT   ProductNumber, Name, 'Price Range' = 
      CASE 
         WHEN ListPrice =  0 THEN 'Mfg item - not for resale'
         WHEN ListPrice < 50 THEN 'Under $50'
         WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
         WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
         ELSE 'Over $1000'
      END
FROM Production.Product
ORDER BY ProductNumber ;
GO

Więcej przykładów, zobacz CASE (Transact-SQL).