MySql – Convertir a minúsculas menos el primer carácter
En muchas ocasiones los usuarios, muy animados, empiezan a introducir datos en su CMS (wordpress, prestashop…) y cuando ya han añadido todos los registros que querían y te avisan, resulta que han escrito todos los campos en mayúsculas. Sin anestesia. Porque si. Veamos cómo convertir en MySql a minúsculas menos el primer carácter.
Nos toca a nosotros arreglar el entuerto. Hay varias maneras de hacerlo, pero os dejo la que utilizo en modo salvaje: sql directamente en el servidor de base de datos. Y ya sabéis que significa esto: copia de seguridad y no hacerlo de no estar seguros qué estáis tocando.
El primer paso será convertir todo el texto en de mayúsculas a minúsculas, y en SQL para convertirlo utilizamos la función LCASE. Veamos un ejemplo:
UPDATE productos SET producto_descripcion= LCASE(producto_descripcion);
Vale, aquí ya tenemos todo el texto en minúsculas. Pero nos queda la segunda parte en la que la primera letra debemos convertirla a mayúscula. Para ello utilizaremos la siguiente orden:
UPDATE productos SET producto_descripcion = CONCAT(UCASE(LEFT(producto_descripcion, 1)), LCASE(SUBSTRING(producto_descripcion, 2)));
Lo que hacemos es concatenar (CONCAT) la primera letra (LEFT) en mayúscula (UCASE), con el resto de texto (SUBSTRING) en minúscula (LCASE). Hacemos dos substrings: la primera letra y el resto de texto. La primera substring la convertimos en mayúscula y posteriormente lo juntamos todo (concatenar)
El ejemplo es el caso mas sencillo, en el que tenemos un único texto. Pero si hay diferentes párrafos o código HTML, entonces es otra historia… mucho más complicada y en la que tendremos que valorar de volver a editarlo todo a mano y regañar al cliente…
Espero que os sea de utilidad el artículo MySql – Convertir a minúsculas menos el primer carácter.
Más información
Muchas gracias amigo, me sirvio muchisimo
nO SIRVE PARA EL CASO DE DOBLES NOMBRES