Comienzo de cadena en mayúsculas SQL
Resuelto
t671
Mensajes publicados
1480
Fecha de registro
Estado
Miembro
Última intervención
-
t671 Mensajes publicados 1480 Fecha de registro Estado Miembro Última intervención -
t671 Mensajes publicados 1480 Fecha de registro Estado Miembro Última intervención -
Hola,
Tengo una cadena de caracteres, compuesta de una o varias palabras.
La primera letra de cada palabra me gustaría ponerla en mayúscula, y el resto de cada palabra en minúscula.
Sé que si solo hay una palabra, pero hay varias ......
Gracias.
Tengo una cadena de caracteres, compuesta de una o varias palabras.
La primera letra de cada palabra me gustaría ponerla en mayúscula, y el resto de cada palabra en minúscula.
Sé que si solo hay una palabra, pero hay varias ......
Gracias.
2 respuestas
-
Hola,
¿por qué en SQL? ¿No sería mejor hacer esto durante la inserción?
SQL es un lenguaje de bajo nivel (simple) no tendrás funciones como expresiones regulares y los recortes de cadenas son más difíciles que con un lenguaje de nivel más alto.
En PHP puedes usar explode para separar cada palabra en un arreglo
http://www.php.net/manual/fr/function.explode.php
Luego tomar la primera letra de cada palabra y ponerla en mayúscula y las letras siguientes en minúscula con strtoupper / strtolower
http://php.net/manual/fr/function.strtoupper.php
Luego concatenar de nuevo la cadena sin olvidar añadir un espacio entre cada palabra.
¿Está claro?
¿Puedes usar PHP? Si es así, es bastante sencillo añadir a tu función la recuperación de los datos ya registrados en las tablas para «normalizarlos» según tu sintaxis.
Otra solución, quizá igual de buena, es no considerar mayúsculas y minúsculas en las tablas, sino únicamente en la visualización; es decir, haces una consulta y aplicas las mayúsculas al inicio de cada palabra de cada resultado.