Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jak rozdzielić ciąg na różne kolumny?

Zamiast używać funkcji split, istnieje funkcja o nazwie ParseName, która zwraca określoną część obiektu, która dzieli ciąg znaków oddzielony przez . Przejdź przez link ParseName, który pomógł mi w napisaniu tego zapytania

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] 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:pisz tylko na pierwszą literę

  2. Czekam na localhost, na zawsze!

  3. Nieprawidłowa składnia w pobliżu słowa kluczowego 'with'...poprzednia instrukcja musi być zakończona średnikiem

  4. Wstawianie danych SQL Server do Salesforce.com

  5. Dlaczego powinienem używać int zamiast bajtu lub shorta w C#