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

¿Cómo separar la cadena en diferentes columnas?

En lugar de usar la función de división, hay una función llamada ParseName que devuelve la parte especificada del objeto que derrama la cadena delimitada por . Vaya al enlace de ParseName que me ayudó a escribir esta consulta

Declare @Sample Table
(MachineName varchar(max))

Insert into @Sample
values 
('Ab bb zecos'),('a Zeng')


  SELECT 
  Reverse(ParseName(Replace(Reverse(MachineName), ' ', '.'), 1)) As [M1]
 , Reverse(ParseName(Replace(Reverse(MachineName), ' ', '.'), 2)) As [M2]
 , Reverse(ParseName(Replace(Reverse(MachineName), ' ', '.'), 3)) As [M3]

  FROM  (Select MachineName from @Sample
  ) As [x]