web-dev-qa-db-fra.com

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

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

119
Thomas Owens
UPDATE table SET colname=LOWER(colname);
243
Paul Dixon

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

Par exemple:

select LOWER(keyword) from my_table
28
Jon Grant

SELECT LOWER(foo) AS foo FROM bar

12
Greg

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

Ceux-ci peuvent être utilisés à la fois sur des colonnes ou des littéraux de chaîne. 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.

9
dmanxiii

Avez-vous essayé de chercher? Google, manuel ...

http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_lower

mysql> SELECT LOWER('QUADRATICALLY');
        -> 'quadratically'
5
myplacedk

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.

1
Vi8L

Il est intéressant de noter que le nom du champ est renommé et que si vous le référencez dans une fonction, vous ne recevrez pas sa valeur sauf 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 ..

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

0
HD FrenchFeast