Vergleichsoperatoren (Datenbankmodul)
Vergleichsoperatoren werden mit Zeichendaten, numerischen Daten oder Datumsdaten verwendet und können in der WHERE- oder HAVING-Klausel einer Abfrage verwendet werden. Vergleichsoperatoren ergeben einen Wert vom booleschen Datentyp und geben abhängig vom Ergebnis der getesteten Bedingung TRUE oder FALSE zurück.
Um beispielsweise das Weihnachtsgeld für diejenigen Mitarbeiter zu ermitteln, die am oder vor dem 15. März 1998 eingestellt wurden, wird berechnet, ob hire_date für einen Angestellten kleiner oder gleich dem 15. März 1998 ist. Dies ergibt eine Liste der Angestellten, die Weihnachtsgeld erhalten sollen.
Zu den gültigen Vergleichsoperatoren gehören die folgenden:
- > (Größer als)
- < (Kleiner als)
- = (Gleich)
- <= (Kleiner als oder gleich)
- >= (Größer als oder gleich)
- != (Nicht gleich)
- <> (Nicht gleich)
- !< (Nicht kleiner als)
- !> (Nicht größer als)
Vergleichsoperatoren können darüber hinaus in der Programmlogik verwendet werden, um nach einer Bedingung zu suchen. Wird beispielsweise als Wert für das Land bzw. die Region UK statt Spain angegeben, gelten möglicherweise andere Frachtkosten. In diesem Fall wird eine Kombination aus einem Vergleichsoperator, einem Ausdruck (dem Spaltennamen), einem Literal ('UK') und einem Programmierschlüsselwort zur Ablaufsteuerung (IF) verwendet.
Jeder Benutzer mit Zugriff auf die tatsächlichen Daten für Abfragen kann Vergleichsoperatoren in zusätzlichen Abfragen verwenden. Für Datenänderungsanweisungen sollten Sie Vergleichsoperatoren nur verwenden, wenn Sie wissen, dass Sie über die entsprechenden Berechtigungen verfügen und die Daten nur von einer begrenzten Anzahl von Personen geändert werden. Dies hilft, die Datenintegrität zu erhalten.
Abfragen können Zeichenfolgenvergleiche außerdem verwenden, um den Wert in einer lokalen Variablen, einem Cursor oder einer Spalte mit einer Konstanten zu vergleichen. Beispielsweise sollen alle Kundenzeilen gedruckt werden, wenn das Land bzw. die Region UK lautet. Die folgende Tabelle zeigt Beispiele für Zeichenfolgenvergleiche zwischen Unicode-Daten und Nicht-Unicode-Daten. ST1 ist vom char-Datentyp, ST2 vom nchar-Datentyp.
Vergleich | Beschreibung |
---|---|
ST1 = ST2 |
Entspricht CONVERT(nchar, ST1) = ST2 oder CAST(ST1 AS nchar) = ST2. |
ST1 = 'Nicht-Unicode-Zeichenfolge' |
Regulärer SQL-92-Zeichenfolgenvergleich |
ST2 = 'Nicht-Unicode-Zeichenfolge' |
Entspricht ST2 = CONVERT(nchar, 'Nicht-Unicode-Zeichenfolge') oder ST2 = CAST('Nicht-Unicode-Zeichenfolge' AS nchar). |
ST2 = N'Unicode-Zeichenfolge' |
Unicode-Vergleich |
CONVERT(nchar, ST1) = ST2 oder CAST(ST1 AS nchar) = ST2 |
Unicode-Vergleich |
ST1 = CONVERT(char, ST2) oder ST1 = CAST(ST2 AS char) |
Regulärer SQL-92-Zeichenfolgenvergleich |
N'' (leere Unicode-Zeichenfolge in Klammern) |
Leere Zeichenfolge |
'' (leere Nicht-Unicode-Zeichenfolge) |
Eine leere Zeichenfolge oder eine Zeichenfolge, die genau ein Leerzeichen enthält, abhängig von den SQL 92-Einstellungen. |
Siehe auch
Andere Ressourcen
= (Gleich) (Transact-SQL)
<> (Ungleich) (Transact-SQL)
> (Größer als) (Transact-SQL)
!< (Nicht kleiner als) (Transact-SQL)
< (Kleiner als) (Transact-SQL)
!= (Ungleich) (Transact-SQL)
>= (Größer als oder gleich) (Transact-SQL)
!> (Nicht größer als) (Transact-SQL)
<= (Kleiner als oder gleich) (Transact-SQL)
WHERE (Transact-SQL)