Rechercher dans le manuel MySQL
B.4.4.1 Case Sensitivity in String Searches
For nonbinary strings (CHAR
,
VARCHAR
,
TEXT
), string searches use the
collation of the comparison operands. For binary strings
(BINARY
,
VARBINARY
,
BLOB
), comparisons use the
numeric values of the bytes in the operands; this means that
for alphabetic characters, comparisons will be case-sensitive.
A comparison between a nonbinary string and binary string is treated as a comparison of binary strings.
Simple comparison operations (>=, >, =, <,
<=
, sorting, and grouping) are based on each
character's “sort value.” Characters with the
same sort value are treated as the same character. For
example, if e
and
é
have the same sort value in a
given collation, they compare as equal.
The default character set and collation are
utf8mb4
and
utf8mb4_0900_ai_ci
, so nonbinary string
comparisons are case insensitive by default. This means that
if you search with
, you get all column values that start with
col_name
LIKE
'a%'A
or a
. To make this
search case-sensitive, make sure that one of the operands has
a case-sensitive or binary collation. For example, if you are
comparing a column and a string that both have the
utf8mb4
character set, you can use the
COLLATE
operator to cause either operand to
have the utf8mb4_0900_as_cs
or
utf8mb4_bin
collation:
If you want a column always to be treated in case-sensitive fashion, declare it with a case-sensitive or binary collation. See Section 13.1.20, “CREATE TABLE Syntax”.
To cause a case-sensitive comparison of nonbinary strings to
be case insensitive, use COLLATE
to name a
case-insensitive collation. The strings in the following
example normally are case-sensitive, but
COLLATE
changes the comparison to be case
insensitive:
- +-----------+
- | @s1 = @s2 |
- +-----------+
- | 0 |
- +-----------+
- +--------------------------------------+
- +--------------------------------------+
- | 1 |
- +--------------------------------------+
A binary string is case-sensitive in comparisons. To compare
the string as case insensitive, convert it to a nonbinary
string and use COLLATE
to name a
case-insensitive collation:
- +--------------+
- | @s = 'mysql' |
- +--------------+
- | 0 |
- +--------------+
- +----------------------------------------------------------------+
- +----------------------------------------------------------------+
- | 1 |
- +----------------------------------------------------------------+
To determine whether a value will compare as a nonbinary or
binary string, use the
COLLATION()
function. This
example shows that VERSION()
returns a string that has a case-insensitive collation, so
comparisons are case insensitive:
- +----------------------+
- +----------------------+
- | utf8_general_ci |
- +----------------------+
For binary strings, the collation value is
binary
, so comparisons will be case
sensitive. One context in which you will see
binary
is for compression functions, which
return binary strings as a general rule: string:
- +--------------------------+
- +--------------------------+
- +--------------------------+
To check the sort value of a string, the
WEIGHT_STRING()
may be helpful.
See Section 12.5, “String Functions and Operators”.
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 26/06/2006, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/mysql-rf-case-sensitivity.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.