ni idea,suerte![]()
Buenas necesito ayuda, en una formula de MySQL Query Browser. Necesito mostrar las iniciales de los nombres de los alumnos. Pongo un ejemplo Maria Marisol, Hernández y tiene que quedarme así: M.M.H es decir puesto las iniciales y con puntos. No sé si logro explicarme, lo necesito la formula para hoy ya que estoy a tope con SQL para terminar mi módulo. Una ayudita aquí para la educación vendría bien![]()
@ErGitaniko Un par de preguntas:
¿MySQL Query Browser es como phpmyadmin no?
¿Cómo guardas los nombres, cómo es la estructura de la tabla? Ponlo si puedes.
Última edición por Call Drogo; 10/02/2014 a las 18:50
Una pregunta si es divido en tres columnas por ejemplo, nombre , apellido1 y apellido 2.
SUBSTRING(cadena,posicion,longitud)
select substring(nombre,1,1),substring(apellido1,1,1),sub string(2,1,1) from nombredelatabla
Revisa esta documentacion:
Curso MySQL, funci?n "SUBSTRING"
Buf shur, yo todavia estoy empezando y aunque ya hemos dado muchas cosas (mi profesora va como una moto y nos hace trabayar fuerte) a eso no hemos llegado todavia.
Que ciclo estas haciendo? Administracion de Sistemas Informaticos en Red?
Hice un ciclo formativo superior de administración de sistemas informáticos y redes, y ahora estoy cursando ing. Informática a través de la UOC.
En el ciclo no aprendí un carajo xD , pero en mi curro si , actualmente trabajo para IBM .
Mucho animo tio! Si necesitas algo mas y te puedo ayudar por aquí estoy.
Primero deberias crearte una funcion tokerizen o split, para dividir una cadena en token por el caracter espacio, luego ya solo tendrias contar cuantas veces aparece un espacio en la cadena y con un for sacar el primer caracter de cada token con la funcion left.
Yo he entendido que esta todo en un mismo campo, si no el ejercicio no tiene chicha alguna, sacando el primer caracter de cada campo con left e ir concatenandolos ya esta todo hecho. Aunque bueno, de todos modos un nombre puede ser compuesto asi que...El mensaje está oculto porque el usuario está en tu lista de ignorados.
Es que en el caso de que el nombre fuera compuesto en un solo campo string, debería hacer uso ya de POSTGREST SQL, buscando donde están los espacios dividendolo en 3 o mas variables (ARRAY de variables String) y después pasando la función SUBSTRING(cadena,posición,longitud) , pero eso ya es tarea tuya tío xD , paso de ponerme hacer ese código aunque me llama la atención bastante.
Aunque el principal problema que tiene es que puede ser:
NOMBRE APELLIDO APELLIDO
NOMBRE COMPUESTO APELLIDO APELLIDO
NOMBRE COMPUESTO APELLIDO COMPUESTO APELLIDO
NOMBRE COMPUESTO APELLIDO COMPUESTO APELLIDO COMPUESTO
ETC ...
Pero también se podría guardar en un ARRAY y después contar cuantos elementos tiene y con un bucle sacar con la funcion CONCAT(SUBSTRING(ARRAY1,posicion,longitud) o incrementando la variable :
VARIABLE = VARIABLE + SUBSTRING(ARRAY1,posicion,longitud)
Pero se me esta yendo la pinza taco xD![]()
Si todo se guarda en el mismo campo y no hay nombres compuestos, se puede guarrear y hacerlo así:
concat(substr(CAMPO,1,1),'.',substr(CAMPO,locate(' ',CAMPO)+1,1),'.',substr(CAMPO,locate(' ',CAMPO, locate(' ',CAMPO)+1)+1,1),'.')