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

Cómo puedo separar datos a partir de un caracter?

Estas en el tema de Cómo puedo separar datos a partir de un caracter? en el foro de SQL Server en Foros del Web. Hola, Tengo una tabla donde guardo a veces 2 datos en un mismo campo es decir: cod valor 1 'alto-rojo' 2 'muy bajo-anaranjado' Sé que ...
  #1 (permalink)  
Antiguo 28/07/2006, 10:00
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Pregunta Cómo puedo separar datos a partir de un caracter?

Hola,

Tengo una tabla donde guardo a veces 2 datos en un mismo campo es decir:

cod valor
1 'alto-rojo'
2 'muy bajo-anaranjado'


Sé que el diseño del modelo no es lo mejor, pero ya está y necesito recuperar los datos; existe alguna función método en sql que me perimita separar los datos por el caracter "-"?
es decir que me muestre
cod tipo color
1 'alto' 'rojo'
1 'muy bajo' 'anaranjado'

???????
Saludos y graciass
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #2 (permalink)  
Antiguo 28/07/2006, 15:14
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
La aritmética problablemente no sea exacta, pero el procedimiento es este:

Código:
SELECT 
	'tipo' = LEFT(valor, CHARINDEX('-', valor) - 1),
	'color' = RIGHT(valor, LEN(valor)-CHARINDEX('-', valor))
FROM ....
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 31/07/2006, 13:29
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Muchísimas gracias Mithrandir (y)
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
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 06:36.