sql >> Base de Datos >  >> RDS >> Sqlserver

SQL:obtenga la subcadena después del primer espacio y el segundo espacio en columnas separadas

SQL Server no tiene muy buenas funciones de manipulación de cadenas. Esto es más fácil con subconsultas:

select firstname,
       stuff(reverse(stuff(reverse(legalname), 1, len(lastname) + 1, '')),
             1, len(firstname) + 1, '')
from (select legalname,
             left(legalname, charindex(' ', legalname) - 1) as firstname,
             right(legalname, charindex(' ', reverse(legalname)) - 1) as lastname
      . . .
     ) c

Sin embargo, sería muy cuidadoso, porque no todas las personas tienen nombres de tres partes. Y otros tienen sufijos (JR, SR) y otras complicaciones.