Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL-String-Vergleich, Größer-als- und Kleiner-als-Operatoren

Die Vergleichsoperatoren (einschließlich < und > ) "arbeiten" sowohl mit String-Werten als auch mit Zahlen.

Für MySQL

Standardmäßig werden Zeichenfolgenvergleiche nicht zwischen Groß- und Kleinschreibung unterschieden und verwenden den aktuellen Zeichensatz. Der Standardwert ist latin1 (cp1252 Westeuropäisch), was auch gut für Englisch funktioniert.

Zeichenkettenvergleiche werden zwischen Groß- und Kleinschreibung unterschieden, wenn die Zeichensatzsortierung der zu vergleichenden Zeichenketten zwischen Groß- und Kleinschreibung unterscheidet, d. h. der Name des Zeichensatzes endet mit _cs statt _ci . Es macht wirklich keinen Sinn, alle Informationen zu wiederholen, die hier im MySQL-Referenzhandbuch verfügbar sind.

Referenz zu MySQL-Vergleichsoperatoren:
http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html

Weitere Informationen zu MySQL-Zeichensätzen/Sortierungen:
http://dev.mysql.com/doc/refman/5.5/en/charset.html

Um die spezifischen Fragen zu beantworten, die Sie gestellt haben:

F: Ist dies eine Möglichkeit, Zeichenfolgen in SQL zu vergleichen?

A: Ja, sowohl in MySQL als auch in SQL Server

F: und wie wirkt es?

A: Ein Vergleichsoperator gibt einen booleschen Wert zurück, entweder TRUE, FALSE oder NULL.

F: eine Zeichenfolge, die kleiner als eine andere ist, bevor sie in der Wörterbuchreihenfolge steht? Zum Beispiel ist Ball weniger als Wasser?

A: Ja, denn 'b' kommt vor 'w' in der Zeichensatzsortierung, dem Ausdruck

  'ball' < 'water'

gibt WAHR zurück. (Dies hängt vom Zeichensatz ab und auf der Kollation .

F: und bei diesem Vergleich wird zwischen Groß- und Kleinschreibung unterschieden?

A: Ob bei einem bestimmten Vergleich zwischen Groß- und Kleinschreibung unterschieden wird oder nicht, hängt vom Datenbankserver ab; Standardmäßig wird bei SQL Server und MySQL die Groß-/Kleinschreibung nicht beachtet.

In MySQL ist es möglich, Zeichenkettenvergleiche durchzuführen, indem eine Zeichensatzsortierung angegeben wird, bei der die Groß-/Kleinschreibung beachtet wird (der Zeichensatzname endet auf _cs statt auf _ci)

F: B. BALL

A: Standardmäßig ist sowohl in SQL Server als auch in MySQL der Ausdruck

  'BALL' < 'water'

würde TRUE zurückgeben.