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