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

Consulta SQL

Estas en el tema de Consulta SQL en el foro de SQL Server en Foros del Web. tengo registros en una BD, en un solo campo tengo todo el nombre completo separando el apellido paterno con un asterisco (*) después el apellido ...
  #1 (permalink)  
Antiguo 20/07/2012, 18:01
Avatar de jmacc  
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 94
Antigüedad: 17 años, 8 meses
Puntos: 6
Pregunta Consulta SQL

tengo registros en una BD, en un solo campo tengo todo el nombre completo separando el apellido paterno con un asterisco (*) después el apellido materno seguido de una coma y el nombre(s),
es decir: Ejem: López*Pérez,Juan

Y lo que necesito saber es la sentencia para hacer una consulta en la que si quiero el apellido paterno me seleccione todos los caracteres que estén antes del (*)
Si quiero el materno que seleccione todo lo que este entre el (*) y la (,)
Y el nombre(s) seleccionando todo lo que este después de la (,).

Algun Ejemplo:
__________________
Los bueno Chicos Acaban Primero.
User Linux: #527435
  #2 (permalink)  
Antiguo 20/07/2012, 18:31
 
Fecha de Ingreso: noviembre-2011
Mensajes: 48
Antigüedad: 13 años
Puntos: 5
Respuesta: Consulta SQL

Que llevas de tu consulta?
  #3 (permalink)  
Antiguo 20/07/2012, 21:52
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 12 años, 4 meses
Puntos: 40
Respuesta: Consulta SQL

Intenta eso:
Código SQL:
Ver original
  1. DECLARE @S VARCHAR(MAX);
  2. SELECT  @S='López*Pérez,Juan';
  3.  
  4. SELECT  LEFT(@S,CharIndex('*',@S)-1),
  5.         SUBSTRING(@S,CharIndex('*',@S)+1,CharIndex(',',@S)-CharIndex('*',@S)-1),
  6.         RIGHT(@S,Len(@S)-CharIndex(',',@S));
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Etiquetas: strings, substring
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 22:15.