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.

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:

1
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:

1
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…

Más información

Artículos relacionados

MySql – Sql para saber tamaño de tablas En algunas ocasiones, debido a que nuestra base de datos mysql llega al límite de su tamaño, no podemos entrar de forma normal a las tablas mediante ...
Mysql – UNION ALL y GROUP BY o ORDER BY Cuando en MySql se utiliza el UNION ALL, estamos uniendo los resultados de varias consultas. Para ello, debe cumplirse varias condiciones, entre la qu...
MySql – Borrar saltando restricción Foreign ... Cuando estamos trabajando en base de datos de pruebas (en local o servidor), en ocasiones y normalmente en base de datos muy pesadas, nos puede intere...
Mysql Tips – Mayúsculas (Ucase) y reemplazar... Durante un proyecto puedes encontrarte con imprevistos. Imaginad que una vez almacenado los datos de nuestros clientes en la base de datos, nos dicen ...

Un comentario

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*