Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Funcion Inversa FIND_IN_SET()

Estas en el tema de Funcion Inversa FIND_IN_SET() en el foro de Mysql en Foros del Web. Hola amigos me he cansado de buscar algo que deberia ser sencillo, quiero encontrar una funcion que me haga el proceso inverso a este mysql> ...
  #1 (permalink)  
Antiguo 24/06/2009, 02:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Sonrisa Funcion Inversa FIND_IN_SET()

Hola amigos me he cansado de buscar algo que deberia ser sencillo, quiero encontrar una funcion que me haga el proceso inverso a este

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
+----------------------------+
| FIND_IN_SET('b','a,b,c,d') |
+----------------------------+
| 2 |
+----------------------------+
1 row in set (0.02 sec)

la funcion me devuelve el indice de la cadena q le estoy diciendo pero lo q yo quiero es darle el indice y q me devuelva la cadena. La funcion elt lo hace pero con otro formato

Select elt('2','a','b','c','d'); y me devuelve b que eso es lo q yo quiero pero mi cadena esta con formato 'a,b,c,d'

Gracias a todos por leer mi mensaje.
Salu2s
  #2 (permalink)  
Antiguo 24/06/2009, 02:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Funcion Inversa FIND_IN_SET()

Prueba así:
SELECT ELT(2,'b','a,b,c,d');
  #3 (permalink)  
Antiguo 24/06/2009, 03:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Funcion Inversa FIND_IN_SET()

Cita:
Iniciado por jurena Ver Mensaje
Prueba así:
SELECT ELT(2,'b','a,b,c,d');
Gracias jurena.

Asi me devuelve la segunda cadena q es 'a,b,c,d' yo lo q quiero es q lo haga pero en una sola cadena separada por comas es decir si yo quiero encontrar el indice 1 en la cadena 'a,b,c,d' me devuelva a si le digo 2 me devuelva b etc...

Asi como lo hace la funcion find_in_set() pero a la inversa.

No hay forma de hacerlo???...
Con Php se como hacerlo pero quisiera saber si es posible con mysql...

Última edición por maxpower2008; 25/06/2009 a las 15:03 Razón: Subir el tema
  #4 (permalink)  
Antiguo 25/06/2009, 15:04
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Funcion Inversa FIND_IN_SET()

Alguien q me pueda ayudar ...
  #5 (permalink)  
Antiguo 25/06/2009, 15:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Funcion Inversa FIND_IN_SET()

Probablemente haya una forma mejor. Pero puedes hacerlo con SUBSTRING_INDEX():
Código MySQL:
Ver original
  1. SELECT SUBSTRING_INDEX(SUBSTRING_INDEX("a,b,c,d", ",", 2), ",", -1);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 25/06/2009, 15:36
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Funcion Inversa FIND_IN_SET()

Listo David gracias es justo lo q necesitaba.
Es como complicado hacer una subconsulta de lo mismo para lograrlo pero sirve.
Nunca hubiera dado en el clavo.
Saludes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:25.