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

Como Selecciono el texto a la derecha del guion - ?

Estas en el tema de Como Selecciono el texto a la derecha del guion - ? en el foro de Mysql en Foros del Web. Masters, Un Saludo. Sucede que en un campo siempre se inserta un registro como : algo de texto uno - algo de texto dos Como ...
  #1 (permalink)  
Antiguo 10/12/2008, 21:33
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Como Selecciono el texto a la derecha del guion - ?

Masters, Un Saludo.

Sucede que en un campo siempre se inserta un registro como :

algo de texto uno - algo de texto dos

Como hago para seleccionar el texto que está justo despues del guion - ???

Siempre el texto es asi, separado por un guion.

Muchas Gracias Saludos.
__________________
EL LIMITE ES EL UNIVERSO
  #2 (permalink)  
Antiguo 11/12/2008, 01:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Como Selecciono el texto a la derecha del guion - ?

La mejor opción es, creo, esta, si siempre aparece el guión y sólo hay uno:
Código sql:
Ver original
  1. SELECT SUBSTRING_INDEX(campo,'-',-1) trasguion FROM tabla
Si usas 1, en lugar de -1 te sacará la primera parte, la anterior al guión.

Esto, algo más elaborado, hace lo mismo. Y así lo hacíamos antes de contar con substring_index()
Código sql:
Ver original
  1. SELECT SUBSTRING( campo, POSITION( '-' IN campo ) +1 ) trasguion FROM tabla
Presenta la ventaja de que en caso de haber más de un guión, sigue haciendo bien su trabajo y no hace falta retocarla, algo que sí tendrías que hacer con la anterior de haber más de un guión.

con POSITION (...IN) ubicas la posición donde está el guión; luego haces un SUBSTRING para traerte desde esa posicion más uno, para no traerte también el guión, y lo llamas como quieras (yo lo he llamado trasguion). Si quieres evitar también los espacios en blanco le haces un trim.

Código sql:
Ver original
  1. SELECT TRIM(SUBSTRING( campo, POSITION( '-' IN campo ) +1 )) trasguion FROM tabla

también podrías usar LOCATE en lugar de POSITION, pero es lo mismo, aunque con una sintaxis algo distinta.

Última edición por jurena; 11/12/2008 a las 02:01
  #3 (permalink)  
Antiguo 11/12/2008, 10:55
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Respuesta: Como Selecciono el texto a la derecha del guion - ?

Grandioso Master...............Me ha funcionado Perfecto !!!

Saludos.
__________________
EL LIMITE ES EL UNIVERSO
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:42.