Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

come separare la stringa in colonne diverse?

Invece di usare la funzione split c'è una funzione chiamata ParseName che restituisce la parte specificata dell'oggetto che distribuisce la stringa delimitata da . Per favore, passa attraverso il collegamento ParseName che mi ha aiutato a scrivere questa query

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]