> Faqs > Consulta pasar de mayusculas a minusculas MySql

Consulta pasar de mayusculas a minusculas MySql

Consulta sobre como pasar de mayusculas a minusculas las dos primeras letras del campo email en MySql esta es la sintasis que estoy trabajando:

select EmployeeID, FirstName, LastName, 
CONCAT(LEFT(FirstName, 1),LastName,'@miempresa.com') 
as email from employees

Pero me lista el email con las dos primeras letras en mayuscula y todo debe estar en minuscula: NDavolio@miempresa.com' )

Respuestas

En MySQL existe una función específica para convertir las cadenas a minúsculas. Deberías usarla. Se llama lower() (viene de lowercase).

El tema en tu caso concreto, no sé si será el problema que te has encontrado, es que lower() debe de tener como entrada una cadena. Es decir, como entrada a lower() no le puedo pasar una función, para que tome como valor el resultado de ejecutar esa función. O al menos a mi eso me está dando problemas.

Como tú quieres convertir tanto la cadena de la inicial del nombre como la cadena del apellido, estamos en la necesidad de llamar dos veces a la función lower() de MySQL. Es un poco extraño, pero me parece que es así por necesidad.

No tengo como probar la sentencia con tu tabla de la base de datos, pero lo he probado con una tabla de otro proyecto y he conseguido hacer esa composición pasando dos veces a minúsculas las partes necesarias de convertir para generar el email.

Queda así la sentencia:

select user_id, name, last_name, CONCAT(LEFT(LOWER(name), 1), LOWER(last_name),'@miempresa.com') as email from user;

Espero que esto te sirva.

Alberto
580 14 40 18