Gibt es einen MySQL-Befehl zum Konvertieren eines Strings in Kleinbuchstaben?

123

Ich habe eine MySQL-Datenbank mit Schlüsselwörtern, die derzeit in Groß- und Kleinschreibung geschrieben werden. Ich möchte sie jedoch alle in Kleinbuchstaben umwandeln. Gibt es einen einfachen Befehl, um dies zu tun, entweder mit MySQL oder MySQL und PHP?

Thomas Owens
quelle
Ich denke, Sie verwenden auch einen Dump von einem Freund, der dachte, es wäre eine gute Idee, Benutzernamen mit Großbuchstaben zu speichern.
Buffalo

Antworten:

248
UPDATE table SET colname=LOWER(colname);
Paul Dixon
quelle
Wenn die Sortierung einer Spalte auf gesetzt ist ascii_bin, konvertiert dies nicht automatisch alles in Kleinbuchstaben oder irre ich mich?
Oldboy
28

Ja, die Funktion ist LOWER () oder LCASE () (beide machen dasselbe).

Beispielsweise:

select LOWER(keyword) from my_table
Jon Grant
quelle
12

SELECT LOWER(foo) AS foo FROM bar

Greg
quelle
9

Sie können die Funktionen LOWER () oder LCASE () verwenden.

Diese können sowohl für Spalten als auch für Zeichenfolgenliterale verwendet werden. z.B

SELECT LOWER(column_name) FROM table a;

oder

SELECT column_name FROM table a where column = LOWER('STRING')

In beiden Beispielen kann LOWER () durch LCASE () ersetzt werden.

dmanxiii
quelle
1

Verwenden Sie einfach:

UPDATE `tablename` SET `colnameone`=LOWER(`colnameone`);  

oder

UPDATE `tablename` SET `colnameone`=LCASE(`colnameone`);

Beide Funktionen funktionieren gleich.

Vi8L
quelle
0

Interessanterweise wird der Feldname umbenannt. Wenn Sie in einer Funktion darauf verweisen, erhalten Sie seinen Wert nur, wenn Sie ihm einen Alias ​​geben (dies kann sein eigener Name sein).

Beispiel: Ich verwende eine Funktion, um dynamisch einen Feldnamenwert abzurufen:

function ColBuilder ($field_name) {

While ($result = DB_fetch_array($PricesResult)) {
$result[$field_name]
}

}

Meine Anfrage lautet: SELECT LOWER (itemID),… etc ..

musste geändert werden in: SELECT LOWER (itemID) als itemID ,… etc ..

HD FrenchFeast
quelle
Das klingt nicht nach einer Antwort, oder?
Dieter Meemken
Die Antwort wird vervollständigt und es wird gewarnt, dass die Verwendung von LOWER () in bestimmten Situationen möglicherweise nicht das erwartete Ergebnis ohne zusätzliches Aliasing liefert.
HD FrenchFeast
-3

Verwenden Sie die LOWERFunktion, um Daten oder Zeichenfolgen in Kleinbuchstaben zu konvertieren.

select LOWER(username) from users;

oder

select * from users where LOWER(username) = 'vrishbh';
uma
quelle
6
Was fügt dies hinzu, das nicht in den fünf Jahre alten Antworten enthalten war?
Andrew
-6

Ich glaube an PHP, das Sie verwenden können

strtolower() 

Sie können also ein PHP erstellen, um alle Einträge in der Tabelle zu lesen, und dann diesen Befehl verwenden, um sie als Kleinbuchstaben zurückzudrucken

Nagetier43
quelle
Das OP forderte MySQL oder MySQL / PHP an.
starryknight64