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?


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);

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


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.



1

Verwenden Sie einfach:

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

oder

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

Beide Funktionen funktionieren gleich.


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 ..


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';

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


Das OP forderte MySQL oder MySQL / PHP an.
starryknight64
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.