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

obtener el valor de en enmedio de un campo

Estas en el tema de obtener el valor de en enmedio de un campo en el foro de Mysql en Foros del Web. hola si tengo un campo de la sig maner: 39-101-N 39-102-h como le puedo hacer para relaconar otro campo con el valor de enmedio ose ...
  #1 (permalink)  
Antiguo 28/05/2009, 13:50
Avatar de Zeptimo  
Fecha de Ingreso: enero-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 1
De acuerdo obtener el valor de en enmedio de un campo

hola

si tengo un campo de la sig maner:

39-101-N
39-102-h

como le puedo hacer para relaconar otro campo con el valor de enmedio ose el 101 o el 102??


saludos..................
  #2 (permalink)  
Antiguo 28/05/2009, 13:58
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: obtener el valor de en enmedio de un campo

No es posible relacionarlos, pero si compararlos.
Te puede servir la función mid o substring para acceder al numero 101 o 102.

si

select campo from tabla;
39-101-N
39-102-H

entonces

select mid(campo,4,3) from tabla;
101
102

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 29/05/2009, 02:35
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: obtener el valor de en enmedio de un campo

Si escribes números con distinta cantidad de dígitos, tendrás problemas. En ese caso tendrías que localizar la posición del primer guión y luego contar desde ahí hasta la posición del segundo guión. Para resolver esos problemillas se creó en MySQL la función SUBSTRING_INDEX().
Con esta consulta lo sacarás sin preocuparte de cuántos caracteres tiene cada dígito (en tu caso la hemos usado dos veces, pues el número que buscas está en el centro, entre dos guiones):
Código sql:
Ver original
  1. SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('39-101-N','-',2),'-',-1) numerocentral

Última edición por jurena; 29/05/2009 a las 03:35
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 01:17.