¿Hay un comando MySQL para convertir una cadena a minúsculas?


123

Tengo una base de datos MySQL de palabras clave que actualmente son mixtas. Sin embargo, quiero convertirlos a minúsculas. ¿Hay un comando fácil para hacer esto, ya sea usando MySQL o MySQL y PHP?


Supongo que también está utilizando un volcado de un amigo que pensó que sería una buena idea almacenar nombres de usuario con letras mayúsculas.
— Buffalo

Respuestas:


248
UPDATE table SET colname=LOWER(colname);

si la intercalación de una columna se establece en ascii_bin, ¿no convertirá automáticamente todo a minúsculas o me equivoco?
— oldboy

28

Sí, la función es LOWER () o LCASE () (ambas hacen lo mismo).

Por ejemplo:

select LOWER(keyword) from my_table


9

Puede usar las funciones LOWER () o LCASE ().

Estos pueden usarse tanto en columnas como en literales de cadena. p.ej

SELECT LOWER(column_name) FROM table a;

o

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

LCASE () puede ser sustituido por LOWER () en ambos ejemplos.



1

Simplemente use:

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

o

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

Ambas funciones funcionarán igual.


0

Es interesante observar que el nombre del campo cambia de nombre y si lo hace referencia en una función, no obtendrá su valor a menos que le asigne un alias (que puede ser su propio nombre)

Ejemplo: uso una función para obtener dinámicamente un valor de nombre de campo:

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

mi consulta es: SELECCIONAR INFERIOR (itemID), ... etc.

necesitaba cambiarse a: SELECCIONAR INFERIOR (itemID) como itemID , ... etc.


Esto no suena como una respuesta, o?
— Dieter Meemken

completa la respuesta, advirtiendo que usar LOWER () en situaciones específicas puede no proporcionar el resultado esperado sin alias adicional.
— HD FrenchFeast

-3

use la LOWERfunción para convertir datos o cadenas en minúsculas.

select LOWER(username) from users;

o

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

66
¿Qué agrega esto que no estaba en las respuestas de cinco años ?
— Andrew

-6

Creo en php que puedes usar

strtolower() 

para que pueda hacer un php para leer todas las entradas en la tabla y luego usar ese comando para imprimirlas de nuevo en minúsculas


El OP solicitó MySQL o MySQL / PHP.
— starryknight64
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.