Aktualisieren Sie alle Werte einer Spalte in Kleinbuchstaben


100

Nehmen wir an, ich habe so etwas

uid    tag
1      HeLLo
2      heLLO
3      HELLO
4      hello

Wie kann ich alle Werte in der Spalte "Tag" aktualisieren auf:

uid    tag
1      hello 
2      hello 
3      hello 
4      hello 

mit MySQL?

Antworten:


243

3
Beachten Sie, dass dies nicht richtig funktioniert, wenn Ihre Datenbank die Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung verwendet.
EmeraldD.

Wie funktioniert das mit E-Mail-Adressen? Name@domain.com Wird sich das @ ändern?
Björn C

2
UPDATE table_name SET tag = BINARY LOWER(tag)für Matching ohne Berücksichtigung der Groß- und Kleinschreibung.
Enyby

2
@ BjörnC - oben / unten ändert nur Buchstaben; Alle anderen Zeichen bleiben unverändert.
ToolmakerSteve

@Rippo Ich erhalte diesen Fehler, wenn ich diese Abfrage versucheHINT: No function matches the given name and argument types. You might need to add explicit type casts.
Luna Lovegood

68

NIEDRIGER()

update table set tag = LOWER(tag)

Ich erhalte diesen Fehler, wenn ich diese Abfrage versuche. HINWEIS: Keine Funktion entspricht dem angegebenen Namen und den angegebenen Argumenttypen. Möglicherweise müssen Sie explizite Typumwandlungen hinzufügen.
Luna Lovegood

4

Version für Matching ohne Berücksichtigung der Groß- und Kleinschreibung und mit einer "WHERE" -Klausel, wenn Sie nicht die gesamte Spalte aktualisieren möchten:

UPDATE table 
SET tag = LOWER(tag)
WHERE LOWER(tag) != tag
COLLATE Latin1_General_CS_AS

Die COLLATE-Zeile funktioniert, wenn in Ihrer Datenbank die Übereinstimmung zwischen Groß- und Kleinschreibung nicht berücksichtigt wird, wie in meiner.


Ich erhalte diesen Fehler, wenn ich diese Abfrage versuche. HINWEIS: Keine Funktion entspricht dem angegebenen Namen und den angegebenen Argumenttypen. Möglicherweise müssen Sie explizite Typumwandlungen hinzufügen.
Luna Lovegood

3

Versuche dies:

update `table` set `column_name` = LOWER(column_name without quotation)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.