Existe-t-il une commande MySQL pour convertir une chaîne en minuscules?


123

J'ai une base de données MySQL de mots-clés qui sont actuellement mixtes. Cependant, je souhaite les convertir tous en minuscules. Existe-t-il une commande simple pour le faire, soit en utilisant MySQL ou MySQL et PHP?


J'imagine que vous utilisez également un vidage d'un ami qui a pensé que ce serait une bonne idée de stocker les noms d'utilisateur avec des lettres majuscules.
Buffalo

Réponses:


248
UPDATE table SET colname=LOWER(colname);

si le classement d'une colonne est défini sur ascii_bin, cela ne convertira-t-il pas automatiquement tout en minuscules ou est-ce que je me trompe?
oldboy

28

Oui, la fonction est LOWER () ou LCASE () (ils font tous les deux la même chose).

Par exemple:

select LOWER(keyword) from my_table


9

Vous pouvez utiliser les fonctions LOWER () ou LCASE ().

Ceux-ci peuvent être utilisés à la fois sur des colonnes ou des chaînes littérales. par exemple

SELECT LOWER(column_name) FROM table a;

ou

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

LCASE () peut être remplacé par LOWER () dans les deux exemples.



1

Utilisez simplement:

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

ou

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

Les deux fonctions fonctionneront de la même manière.


0

Intéressant de noter que le nom du champ est renommé et que si vous le référencez dans une fonction, vous n'obtiendrez sa valeur que si vous lui donnez un alias (qui peut être son propre nom)

Exemple: j'utilise une fonction pour obtenir dynamiquement une valeur de nom de champ:

function ColBuilder ($field_name) {

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

}

ma requête étant: SELECT LOWER (itemID),… etc.

doit être changé en: SELECT LOWER (itemID) comme itemID ,… etc.


Cela ne ressemble pas à une réponse, ou?
Dieter Meemken

il complète la réponse, avertissant que l'utilisation de LOWER () dans des situations spécifiques peut ne pas fournir le résultat attendu sans alias supplémentaire.
HD FrenchFeast

-3

utilisez la LOWERfonction pour convertir les données ou la chaîne en minuscules.

select LOWER(username) from users;

ou

select * from users where LOWER(username) = 'vrishbh';

6
Qu'est-ce que cela ajoute qui ne figurait pas dans les réponses de cinq ans ?
Andrew

-6

Je crois en php que vous pouvez utiliser

strtolower() 

afin que vous puissiez créer un php pour lire toutes les entrées du tableau, puis utiliser cette commande pour les imprimer en minuscules


L'OP a demandé MySQL ou MySQL / PHP.
starryknight64
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.