Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/11/2012, 07:33
jjmobo_02
 
Fecha de Ingreso: noviembre-2012
Mensajes: 1
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Separar Palabras en cadenas de texto sql server

Caballero para poder separar una cadena que tiene todo el nombre
primer apellido
segundo apellido
primer nombre
segundo nombre

select
Name
,LEFT((SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))))), ISNULL(NULLIF(CHARINDEX(' ', (SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))))))) - 1, -1), LEN((SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))))))))
,LEFT((SUBSTRING((SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))))), CHARINDEX(' ', (SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))))))) + 1, LEN((SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))))))))), ISNULL(NULLIF(CHARINDEX(' ', (SUBSTRING((SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))))), CHARINDEX(' ', (SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))))))) + 1, LEN((SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))))))))) - 1, -1), LEN((SUBSTRING((SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))))), CHARINDEX(' ', (SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))))))) + 1, LEN((SUBSTRING((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) + 1, LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))))))))))))
,LEFT(Name, ISNULL(NULLIF(CHARINDEX(' ', Name) - 1, -1), LEN(Name)))
,LEFT((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))), ISNULL(NULLIF(CHARINDEX(' ', (SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name)))) - 1, -1), LEN((SUBSTRING(Name, CHARINDEX(' ', Name) + 1, LEN(Name))))))
from
CCCCCC