Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie trennt man Strings in verschiedene Spalten?

Anstelle der Split-Funktion gibt es eine Funktion namens ParseName, die den angegebenen Teil des Objekts zurückgibt, der die durch . getrennte Zeichenfolge ausgibt Bitte gehen Sie den ParseName-Link durch, der mir beim Schreiben dieser Abfrage geholfen hat

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]