CASE-Anweisung und verschachtelter Fall in SQL Server: T-SQL-Beispiel

⚡ Intelligente Zusammenfassung

CASE ist ein bedingter Ausdruck in SQL Server, der einen Wert basierend auf der ersten Bedingung zurückgibt, die als wahr ausgewertet wird. Er bietet einfache und durchsuchbare Formen sowie die Möglichkeit zur Verschachtelung innerhalb von IF…ELSE, UPDATE und ORDER BY.

  • 🧭 Bedingter Wert: Ein CASE-Ausdruck gibt einen Wert zurück, der davon abhängt, welche WHEN-Bedingung als erste als wahr ausgewertet wird.
  • 1️⃣ Einfacher Fall: Simple CASE vergleicht einen Ausdruck mit einer Liste von Werten und führt für jedes WHEN eine Gleichheitsprüfung durch.
  • 🔎 Gesuchter Fall: Die CASE-Suche wertet für jedes WHEN einen separaten booleschen Ausdruck aus und unterstützt dabei Bereiche und Ungleichheitsoperatoren.
  • ➖ ELSE ist optional: Wenn keine WHEN-Klausel übereinstimmt und ELSE weggelassen wird, gibt der CASE-Ausdruck NULL zurück.
  • 🪆 Verschachtelung: CASE kann innerhalb eines anderen CASE und innerhalb einer IF…ELSE-Anweisung verschachtelt werden, um mehrstufige Logik zu ermöglichen.
  • 🔧 Jenseits von SELECT: Neben SELECT arbeitet CASE mit UPDATE- und ORDER BY-Klauseln zusammen, um bedingte Aktualisierungen und Sortierungen zu steuern.

CASE-Anweisung und verschachtelte CASE-Anweisungen in SQL Server mit T-SQL-Beispielen

Überblick über den Fall im wirklichen Leben!

Auch im realen Leben handeln wir je nach den Gegebenheiten unterschiedlich. Um dies weiter zu verdeutlichen, betrachten wir das folgende Beispiel:

  • Wenn Flugtickets weniger als 100 $ kosten, werde ich Los Angeles besuchen.
  • Wenn die Flugtickets zwischen 100 und 200 Dollar kosten, werde ich New York besuchen.
  • Wenn die Flugtickets zwischen 200 und 400 Dollar kosten, werde ich nach Europa reisen.
  • Ansonsten werde ich lieber einen nahegelegenen Touristenort besuchen.

Betrachten wir nun, wie wir den Zustand und die Handlung aus dem obigen Beispiel getrennt kategorisieren können:

Bedingungen – Flugtickets Aktionen werden nur ausgeführt, wenn die Bedingung WAHR ist.
Less als $ 100 Besuchen Sie Los Angeles
Zwischen $ 100 bis $ 200 Besuchen Sie New York
Zwischen $ 200 bis $ 400 Besuchen Sie Europa
Keine der oben genannten Bedingungen erfüllt In der Nähe gelegener Touristenort

Im obigen Beispiel sehen wir, dass das Ergebnis der verschiedenen Bedingungen eine separate Handlung bestimmt. Beispielsweise wird der Besucher New York nur dann besuchen, wenn das Flugticket zwischen 100 und 200 Dollar kostet. Ebenso verhält es sich mit dem MS SQL Die CASE-Anweisung bietet außerdem die Möglichkeit, je nach Ergebnis verschiedener Bedingungen unterschiedliche T-SQL-Anweisungen auszuführen.

Was ist die CASE-Anweisung in SQL Server?

CASE-Anweisung in SQL Server ist die Erweiterung der ANSONSTEN Im Gegensatz zu IF…ELSE, wo maximal eine Bedingung zulässig ist, ermöglicht CASE dem Benutzer, mehrere Bedingungen anzuwenden, um unterschiedliche Aktionen in MS SQL auszuführen. Es gibt einen entsprechenden Wert zurück, der der vom Benutzer definierten Bedingung zugeordnet ist.

Lasst uns lernen, wie man CASE verwendet. SQL und dessen Konzept in den folgenden Abschnitten. In MS SQL gibt es zwei Arten von CASE-Anweisungen:

  • Einfacher Fall
  • Gesucht CASE

Einfacher Fall

Die Syntax für den einfachen Fall

CASE <Case_Expression>
     WHEN Value_1 THEN Statement_1
     WHEN Value_2 THEN Statement_2
     .
     .
     WHEN Value_N THEN Statement_N
     [ELSE Statement_Else]   
END AS [ALIAS_NAME]

Hier:

  • Der Parameter Case_Expression bezeichnet den Ausdruck, der schließlich mit Value_1, Value_2 usw. verglichen wird.
  • Die Parameter Statement_1, Statement_2… bezeichnen die Anweisungen, die ausgeführt werden, wenn Case_Expression = Value_1, Case_Expression = Value_2 usw.
  • Kurz gesagt, die Bedingung ist, ob Case_Expression = Value_N gilt, und die Aktion ist die Ausführung von Statement_N, wenn das obige Ergebnis WAHR ist.
  • ALIAS_NAME ist optional und ist der Aliasname für das Ergebnis der SQL Server CASE-Anweisung. Er wird hauptsächlich verwendet, wenn CASE in der SQL Server SELECT-Klausel verwendet wird.

Regeln für den einfachen Fall

  • Simple Case erlaubt nur einen Gleichheitsvergleich von Case_Expression mit Value_1 bis Value_N.
  • Der Case_Expression wird der Reihe nach mit einem Wert verglichen, beginnend mit dem ersten Wert, also Wert_1. Im Folgenden wird der Ausführungsansatz erläutert:
  • Wenn Case_Expression äquivalent zu Value_1 ist, werden weitere WHEN…THEN-Anweisungen übersprungen und die CASE-Ausführung wird sofort ENDE.
  • Wenn der Ausdruck nicht mit Wert_1 übereinstimmt, wird er mit Wert_2 auf Äquivalenz verglichen. Dieser Vergleich wird so lange fortgesetzt, bis ein passender Wert aus der Menge von Wert_1, Wert_2 usw. gefunden wird.
  • Wenn keine Übereinstimmung gefunden wird, geht die Steuerung zur ELSE-Anweisung über und Statement_Else wird ausgeführt.
  • ELSE ist optional.
  • Wenn ELSE nicht vorhanden ist und Case_Expression mit keinem der Werte übereinstimmt, wird NULL angezeigt.

Das folgende Diagramm veranschaulicht den Ausführungsablauf eines einfachen Falls:

Flussdiagramm, das zeigt, wie eine einfache CASE-Anweisung jeden WHEN-Wert der Reihe nach auswertet.

Beispiele

Angenommen, wir haben eine Tabelle mit dem Namen 'Guru99' mit zwei Spalten, Tutorial_ID und Tutorial_name, und vier Zeilen, wie unten dargestellt. Wir werden dieses 'GuruTabelle 99 in den folgenden Beispielen.

Musteranfrage GuruTabelle 99 mit den Spalten Tutorial_ID und Tutorial_name und vier Zeilen

Abfrage 1: SIMPLE CASE mit der Option NO ELSE

SELECT Tutorial_ID, Tutorial_name,
CASE Tutorial_name
	WHEN 'SQL' THEN 'SQL is developed by IBM'
	WHEN 'PL/SQL' THEN 'PL/SQL is developed by Oracle Corporation.'
	WHEN 'MS-SQL' THEN 'MS-SQL is developed by Microsoft Corporation.'
END AS Description
FROM Guru99

Ergebnis: Das folgende Diagramm veranschaulicht den Ablauf eines EINFACHEN FALLS OHNE ANDERE FÄLLE.

Ergebnis eines einfachen CASE-Blocks ohne ELSE-Anweisung, der Folgendes anzeigt: Description für jeden Tutorial_name

Anfrage 2: SIMPLE CASE mit der ELSE-Option

SELECT Tutorial_ID, Tutorial_name,
CASE Tutorial_name
	WHEN 'SQL' THEN 'SQL is developed by IBM'
	WHEN 'PL/SQL' THEN 'PL/SQL is developed by Oracle Corporation.'
	WHEN 'MS-SQL' THEN 'MS-SQL is developed by Microsoft Corporation.'
	ELSE 'This is NO SQL language.'
END AS Description
FROM Guru99

Ergebnis: Das folgende Diagramm erläutert den Ausführungsablauf eines einfachen CASE mit ELSE.

Ergebnis einer einfachen CASE-Anweisung mit ELSE, die den Standardtext für nicht übereinstimmende Zeilen zurückgibt.

Gesucht CASE

Die Syntax für die Suche im Groß-/Kleinschreibung

CASE 
     WHEN <Boolean_Expression_1> THEN Statement_1
     WHEN <Boolean_Expression_2> THEN Statement_2
     .
     .
     WHEN <Boolean_Expression_N> THEN Statement_N
     [ELSE Statement_Else]   
END AS [ALIAS_NAME]

Hier:

  • Der Parameter Boolean_Expression_1… bezeichnet den Ausdruck, der auf WAHR oder FALSCH ausgewertet wird.
  • Die Parameter Statement_1, Statement_2… bezeichnen die Anweisungen, die ausgeführt werden, wenn das entsprechende Ergebnis von Boolean_Expression_1, Boolean_Expression_2 WAHR ist.
  • Kurz gesagt, die Bedingung ist Boolean_Expression_1… und die Aktion ist die Ausführung von Statement_N, wenn der obige Boolean_Expression_1 WAHR ist.
  • ALIAS_NAME ist optional und ist der Aliasname für das Ergebnis der CASE-Anweisung. Er wird hauptsächlich verwendet, wenn CASE in der SELECT-Klausel verwendet wird.

Regeln für den gesuchten Fall

  • Im Gegensatz zum einfachen Fall ist der Suchfall nicht auf einen einfachen Gleichheitsvergleich beschränkt, sondern erlaubt auch einen booleschen Ausdruck.
  • Die Booleschen Ausdrücke werden der Reihe nach ausgewertet, beginnend mit dem ersten Booleschen Ausdruck, d. h. Boolean_Expression_1. Im Folgenden wird der Ausführungsansatz beschrieben:
  • Wenn Boolean_Expression_1 TRUE ist, werden weitere WHEN…THEN-Anweisungen übersprungen und die CASE-Ausführung wird sofort beendet.
  • Wenn Boolean_Expression_1 den Wert FALSE hat, wird Boolean_Expression_2 auf den Wert TRUE geprüft. Dieser Vorgang wird so lange fortgesetzt, bis einer der beiden Ausdrücke TRUE ergibt.
  • Wenn keine Übereinstimmung gefunden wird, geht die Steuerung zur ELSE-Anweisung über und Statement_Else wird ausgeführt.
  • Wie im einfachen Fall ist ELSE auch im gesuchten Fall optional.
  • Wenn ELSE nicht vorhanden ist und keiner der booleschen Ausdrücke TRUE zurückgibt, wird NULL angezeigt.

Das folgende Diagramm veranschaulicht den Ausführungsablauf des gesuchten Falls:

Flussdiagramm, das zeigt, wie ein Suchfall (CASE) jeden booleschen Ausdruck der Reihe nach auswertet.

Beispiele

Abfrage 1: Gesuchter Fall mit der Option NO ELSE

SELECT Tutorial_ID, Tutorial_name,
CASE 
 	WHEN Tutorial_name = 'SQL' THEN 'SQL is developed by IBM'
	WHEN Tutorial_name = 'PL/SQL' THEN 'PL/SQL is developed by Oracle Corporation.'
	WHEN Tutorial_name = 'MS-SQL' THEN 'MS-SQL is developed by Microsoft Corporation.'
END AS Description
FROM Guru99

Ergebnis: Das folgende Diagramm erläutert den Ausführungsablauf des GESUCHTEN FALLS OHNE SONSTIGE FALL.

Ergebnis einer Suche mit CASE ohne ELSE, bei der jeder Tutorial_name mit einem Tutorial_name abgeglichen wird. DescriptIon

Anfrage 2: GESUCHTER FALL mit der ELSE-Option

SELECT Tutorial_ID, Tutorial_name,
CASE 
	WHEN Tutorial_name = 'SQL' THEN 'SQL is developed by IBM'
	WHEN Tutorial_name = 'PL/SQL' THEN 'PL/SQL is developed by Oracle Corporation.'
	WHEN Tutorial_name = 'MS-SQL' THEN 'MS-SQL is developed by Microsoft Corporation.'
	ELSE 'This is NO SQL language.'
END AS Description
FROM Guru99

Ergebnis: Das folgende Diagramm erläutert den Ausführungsablauf des SEARCHED CASE mit ELSE.

Ergebnis einer CASE-Suche mit ELSE, die den Standardtext für Nicht-SQL-Sprachen zurückgibt.

Unterschied zwischen den Ausführungsansätzen: EINFACHER und SUCHE-FALL

Werfen wir einen Blick auf das folgende Beispiel des EINFACHEN FALLS:

SELECT Tutorial_ID, Tutorial_name,
CASE Tutorial_name
	WHEN 'SQL' THEN 'SQL is developed by IBM'
	WHEN 'PL/SQL' THEN 'PL/SQL is developed by Oracle Corporation.'
	WHEN 'MS-SQL' THEN 'MS-SQL is developed by Microsoft Corporation.'
	ELSE 'This is NO SQL language.'
END AS Description
FROM Guru99

Hierbei ist „Tutorial_name“ Teil des CASE-Ausdrucks in SQL. Anschließend wird der Wert von „Tutorial_name“ mit jedem WHEN-Wert, d. h. „SQL“, verglichen, bis „Tutorial_name“ mit einem WHEN-Wert übereinstimmt.

Im Gegenteil, das Beispiel SEARCH CASE enthält keinen CASE-Ausdruck:

SELECT Tutorial_ID, Tutorial_name,
CASE 
 	WHEN Tutorial_name = 'SQL' THEN 'SQL is developed by IBM'
	WHEN Tutorial_name = 'PL/SQL' THEN 'PL/SQL is developed by Oracle Corporation.'
	WHEN Tutorial_name = 'MS-SQL' THEN 'MS-SQL is developed by Microsoft Corporation.'
END AS Description
FROM Guru99

Hier hat jede WHEN-Anweisung ihren eigenen bedingten booleschen Ausdruck. Jeder boolesche Ausdruck, z. B. Tutorial_name = 'SQL'…, wird auf WAHR/FALSCH ausgewertet, bis der erste boolesche Ausdruck WAHR ergibt.

Unterschied zwischen einfachem und gesuchtem Fall

Einfacher Fall Durchsuchter Fall
Dem Schlüsselwort CASE folgt unmittelbar der CASE-Ausdruck und es steht vor der WHEN-Anweisung.

Z.B:
FALL
WHEN Wert_1 DANN Aussage_1…

Dem Schlüsselwort CASE folgt die WHEN-Anweisung, und zwischen CASE und WHEN steht kein Ausdruck.

Z.B:
FALL, WENN DANN Anweisung_1…

Im einfachen Fall existiert für jede WHEN-Anweisung ein Wert. Diese Werte (Wert_1, Wert_2…) werden nacheinander mit einem einzigen CASE-Ausdruck verglichen. Das Ergebnis wird für jede WHEN-Anweisung auf die Bedingung WAHR/FALSCH geprüft.

Z.B:
FALL
WHEN Wert_1 DANN Aussage_1…
WHEN Wert_2 DANN Aussage_2…

In einem Suchfall existiert für jede WHEN-Anweisung ein Boolescher Ausdruck. Diese Booleschen Ausdrücke (Boolescher_Ausdruck_1, Boolescher_Ausdruck_2…) werten die Bedingung WAHR/FALSCH für jede WHEN-Anweisung aus.

Z.B:
CASE
WANN DANN Aussage_1…
WANN DANN Aussage_2…

Ein einfacher Fall unterstützt nur einen Gleichheitsvergleich, d. h. ob CASE_Expression = VALUE_1, VALUE_2…

Z.B:
FALL WENN Wert_1 DANN Anweisung_1…
Im obigen Beispiel besteht die einzige vom System durchgeführte Operation darin, zu prüfen, ob Case_Expression = Value_1.

Mit Boolean_Expression_N unterstützt ein Suchfall jede Operation, die einen booleschen Wert ergibt. Dazu gehören die Operatoren „gleich“ und „ungleich“.

Z.B:
FALL, WENN DANN Anweisung_1…
Im obigen Beispiel kann Boolean_Expression_1 sowohl den Gleichheitsoperator als auch den Ungleichheitsoperator enthalten, wie z. B. A = B, A != B.

Verschachtelter CASE: CASE in IF ELSE

Wir können CASE innerhalb einer IF…ELSE-Anweisung verwenden. Wir deklarieren einen Variable Für das Flugticket und die Verzweigung nach dessen Wert. Nachfolgend finden Sie den Beispiel-MS-SQL-Code:

DECLARE @Flight_Ticket int;
SET @Flight_Ticket = 190;
IF @Flight_Ticket > 400
   PRINT 'Visit Nearby Tourist Location';
ELSE 
BEGIN
    SELECT
	CASE 
	WHEN @Flight_Ticket BETWEEN 0 AND 100 THEN 'Visit Los Angeles'
	WHEN @Flight_Ticket BETWEEN 101 AND 200 THEN 'Visit New York'
	WHEN @Flight_Ticket BETWEEN 201 AND 400 THEN 'Visit Europe'
	END AS Location	
END

Im obigen Beispiel ist die CASE-Anweisung in der IF…ELSE-Anweisung verschachtelt. Zuerst wird die IF-Anweisung ausgeführt. Ist die CASE-Bedingung in SQL Server „false“, wird die ELSE-Anweisung ausgeführt. Der ELSE-Teil enthält eine verschachtelte CASE-Anweisung in SQL. Abhängig vom Wert des Flugtickets wird eines der folgenden Ergebnisse angezeigt:

  • Das System gibt die Meldung „Besuchen Sie ein nahegelegenes Touristenziel“ aus, wenn die Flugtickets mehr als 400 Dollar kosten.
  • Das System druckt „Visit Los Angeles“, wenn die Flugtickets zwischen 0 und 100 Dollar kosten.
  • Das System druckt „Visit New York“, wenn die Flugtickets zwischen 101 und 200 Dollar kosten.
  • Das System druckt „Visit Europe“, wenn die Flugtickets zwischen 201 und 400 US-Dollar kosten.

Das folgende Ergebnis zeigt die Position, die zurückgegeben wird, wenn der verschachtelte CASE-Zweig innerhalb des ELSE-Zweigs ausgeführt wird:

Ergebnis einer CASE-Anweisung innerhalb einer IF…ELSE-Anweisung, die den Besuchsort für das Ticket ausgibt.

Verschachtelter CASE: CASE innerhalb von CASE

In SQL können wir CASE-Anweisungen innerhalb anderer CASE-Anweisungen verwenden. Nachfolgend finden Sie ein Beispiel für MS-SQL-Code:

DECLARE @Flight_Ticket int;
SET @Flight_Ticket = 250;
SELECT
CASE 
WHEN @Flight_Ticket >= 400 THEN 'Visit Nearby Tourist Location.'
WHEN @Flight_Ticket < 400 THEN 
    	CASE 
		WHEN @Flight_Ticket BETWEEN 0 AND 100 THEN 'Visit Los Angeles'
		WHEN @Flight_Ticket BETWEEN 101 AND 200 THEN 'Visit New York'
		WHEN @Flight_Ticket BETWEEN 201 AND 400 THEN 'Visit Europe'
		END	
END AS Location

Im obigen Beispiel ist eine CASE-Anweisung in einer anderen CASE-Anweisung verschachtelt. Das System führt zuerst die äußere CASE-Anweisung aus; falls Flight_Ticket < 400 $ ist, wird die innere CASE-Anweisung ausgeführt. Der zurückgegebene Standort folgt denselben Ticketkategorien wie im vorherigen Beispiel, sodass ein Ticket für 250 $ in den Bereich von 201 $ bis 400 $ fällt und „Visit Europe“ zurückgibt.

Das untenstehende Ergebnis zeigt den vom inneren CASE für ein Ticket im Wert von 250 $ zurückgegebenen Standort:

Ergebnis eines in einem anderen Fall verschachtelten Falls, der „Visit Europe for a 250 ticket“ zurückgibt.

FALL mit UPDATE

Nehmen wir erneut an, wir hätten das 'GuruTabelle 99 mit zwei Spalten und vier Zeilen, wie unten dargestellt:

GuruTabelle 99 vor dem CASE UPDATE, die die ursprünglichen Werte von Tutorial_Name anzeigt

Wir können CASE mit UPDATE verwenden. Unten finden Sie den Beispiel-MS-SQL-Code:

UPDATE Guru99
SET Tutorial_Name = 
	(
	CASE
	WHEN Tutorial_Name = 'SQL' THEN 'Structured Query language.'
	WHEN Tutorial_Name = 'PL/SQL' THEN 'Oracle PL/SQL'
	WHEN Tutorial_Name = 'MSSQL' THEN 'Microsoft SQL.'
	WHEN Tutorial_Name = 'Hadoop' THEN 'Apache Hadoop.'
	END
	)

Im obigen Beispiel wird CASE in der UPDATE-Anweisung verwendet. Abhängig vom Wert von Tutorial_Name wird die Spalte Tutorial_Name mit dem Wert der THEN-Anweisung aktualisiert:

  • Wenn Tutorial_Name = 'SQL', dann aktualisiere Tutorial_Name auf 'Structured Query language'.
  • Wenn Tutorial_Name = 'PL/SQL', dann aktualisiere Tutorial_Name auf 'Oracle PL/SQL'.
  • Wenn Tutorial_Name = 'MSSQL', dann aktualisiere Tutorial_Name auf 'Microsoft SQL'.
  • Wenn Tutorial_Name = 'Hadoop', dann aktualisiere Tutorial_Name auf 'Apache Hadoop'.

Die Ausführung der Anweisung aktualisiert die übereinstimmenden Zeilen, wie unten dargestellt:

Ausführungsergebnis der CASE UPDATE-Anweisung auf dem Guru99 Tisch

Lassen Sie uns die Frage stellen:GuruTabelle 99 zur Überprüfung der aktualisierten Werte:

GuruTabelle 99 nach dem CASE UPDATE, die die neuen Werte für Tutorial_Name anzeigt

CASE mit Order by

Wir können CASE mit ORDER BY verwenden. Nachfolgend finden Sie ein Beispiel für MS-SQL-Code:

Declare @Order Int;
Set @Order = 1
Select * from Guru99 order by 
CASE 
	WHEN @Order = 1 THEN Tutorial_ID
	WHEN @Order = 2 THEN Tutorial_Name
	END
DESC

Hier wird CASE mit ORDER BY verwendet. @Order ist auf 1 gesetzt, und da der erste boolesche WHEN-Ausdruck zu TRUE ausgewertet wird, wird Tutorial_ID für die ORDER BY-Bedingung ausgewählt. Das Ergebnis wird unten angezeigt:

Ergebnis von ORDER BY mit einem CASE-Ausdruck, der sortiert GuruTabelle 99 nach Tutorial_ID

Interessante Fakten!

  • CASE kann sowohl in einer anderen CASE-Anweisung als auch in einer IF…ELSE-Anweisung verschachtelt werden.
  • Zusätzlich zu SELECT kann CASE auch mit anderen SQL-Klauseln wie UPDATE und ORDER BY verwendet werden.

Häufig gestellte Fragen

IIF() ist eine Kurzform für einen CASE-Ausdruck mit zwei möglichen Ergebnissen: Er gibt einen Wert zurück, wenn die Bedingung wahr ist, und einen anderen, wenn sie falsch ist. Ein vollständiger CASE-Ausdruck ist flexibler und kann mehrere WHEN-Bedingungen in einer einzigen Anweisung prüfen.

Ja. Da CASE einen Wert zurückgibt, kann es in einer SELECT-Liste, einer WHERE-Klausel, einer HAVING-Klausel und einer GROUP BY-Klausel verwendet werden. In einer WHERE-Klausel ermöglicht CASE die Anwendung unterschiedlicher Filterlogik abhängig von den Werten anderer Spalten.

Ja. Einen CASE-Ausdruck innerhalb von SUM(), COUNT() oder AVG() führt eine bedingte Aggregation durch und summiert oder zählt nur die Zeilen, die den jeweiligen WHEN-Bedingungen entsprechen. Diese Technik wird häufig verwendet, um Pivot-Tabellen-ähnliche Übersichtsberichte zu erstellen.

COALESCE und ISNULL geben nur den ersten Wert einer Liste zurück, der nicht NULL ist. Ein CASE-Ausdruck ist umfassender: Er wertet beliebige boolesche Bedingungen oder Wertvergleiche aus und gibt das Ergebnis des ersten Zweigs zurück, der zutrifft.

Ein CASE-Ausdruck gibt einen einzelnen Datentyp zurück. SQL Server ermittelt diesen anhand der Datentyppriorität jedes THEN- und ELSE-Ergebnisses. Daher sollten alle Zweige kompatible Typen zurückgeben, um Konvertierungsfehler zu vermeiden.

Ja. Ein CASE-Ausdruck kann in der SELECT-Anweisung einer Sicht und an beliebiger Stelle innerhalb einer gespeicherten Prozedur, Funktion oder eines Triggers verwendet werden. Die gleiche Ausdruckssyntax funktioniert für alle diese Objekte.

Ja. GitHub-Copilot Sie können einfache und durchsuchte CASE-Ausdrücke, einschließlich verschachtelter CASE-Anweisungen und CASE-Anweisungen innerhalb von UPDATE, anhand einer natürlichsprachlichen Eingabeaufforderung erstellen. Überprüfen Sie vor der Ausführung der Abfrage stets die WHEN-Bedingungen, die Verzweigungsreihenfolge und die ELSE-Behandlung.

KI- und maschinelle Lernassistenten übersetzen Regeln in einfacher Sprache in einfache oder durchsuchte CASE-Ausdrücke, schlagen fehlende WHEN-Zweige vor und kennzeichnen Überschneidungen.ping oder unerreichbare Bedingungen. Der Entwickler prüft jeden Vorschlag vor der Bereitstellung auf Richtigkeit.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: