SQL SERVER Podzielony ciąg

SQL SERVER Podzielony ciąg
Jeśli od dłuższego czasu pracowałeś z bazami danych, są szanse. W ostatnich latach musisz zaimplementować niestandardową metodę konwersji sekwencji ciągów na wiersze tabeli. Jednak w Microsoft SQL Server 2016 i powyżej możemy użyć funkcji string_split ().

Jak omówiono w tym przewodniku, weźmiemy ciąg w formacie podobnym do tablicy i przekonwertujemy go na zestaw wierszy na podstawie konkretnego ogranicznika.

Funkcja SQL Server String_Split ()

SQL Server String_split () to funkcja o wartościach tabeli wprowadzonej w SQL Server 2016. Pozwala podzielić łańcuch na rzędy tabeli pod stratami oddzielonymi określonym ogranicznikiem.

Składnia funkcji String_Split jest taka jak pokazano:

string_split (string, delimiter);

Argumenty funkcyjne i wartość zwracana

Funkcja przyjmuje dwa argumenty:

  1. ciąg - literał ciąg lub wyrażenie, które ocenia Char, varchar, nvarchar, nchar.
  2. SYMITER - wartość ogranicznika używana do oddzielenia ciągów.

Wartość zwracana
Funkcja zwraca pojedynczą kolumnę z wartością nazwy. Rzędy to ciągi oddzielone funkcją.

Chociaż funkcja dzieli ciągi na rzędy na podstawie określonego ogranicznika, funkcja może uporządkować wiersze w dowolnej kolejności. Możesz użyć klauzuli zamówienia, aby zdefiniować zamówienie sortowania.

Split String: Przykłady

Spójrzmy na kilka przykładów i zrozum, jak korzystać z funkcji String_Split na SQL Server.

Przykład 1
Poniższe zapytanie, oddziela łańcuch za pomocą przestrzeni jako ogranicznika.

Wybierz wartość z String_Split („MySQL Postgresql MongoDB SQL Server SQLite”, ”);

Powyższe zapytanie powinno podzielić sznurki z znakiem kosmicznym i zwrócić wiersze. Przykładem jest to, jak pokazano:

Przykład 2
Możesz także oddzielić ciąg rozdzielany przecinkami, jak pokazano w zapytaniu poniżej:

Wybierz wartość z String_Split („MySQL, PostgreSQL, MongoDB, SQL Server, Sqlite ',', ');

Funkcja powinna zwrócić wyniki jako:

Przykład 3
Poniższy przykład pokazuje, jak używać klauzuli kolejności według funkcji string_split ().

Wybierz wartość z String_Split („MySQL, PostgreSQL, MongoDB, SQL Server, SQLite ',', ') Zamów według wartości desc;

Powstałe rekordy są jak pokazano:

Zamknięcie

Ten krótki przewodnik pomaga w korzystaniu z funkcji SQL Server String_split do oddzielenia ciągów na podstawie ogranicznika.