Funkcja SUBSTRING w SQL Server służy do wyodrębnienia podciągu z łańcucha, zaczynając od określonej pozycji i o opcjonalnej długości.
Jest to bardzo przydatne, gdy trzeba wyodrębnić określoną część ciągu do dalszego przetwarzania lub analizy.
Funkcja SQL SUBSTRING działa również w Baza danych Azure SQL , Magazyn danych SQL Azure , I Równoległa hurtownia danych .
Składnia
Składnia funkcji SQL SUBSTRING jest następująca:
PODCIĄG(ciąg_wejściowy, początek, długość);
Parametry:
- Ciąg_wejściowy – Może to być wyrażenie znakowe, binarne, tekstowe lub graficzne.
- Początek - Jest to liczba całkowita określająca lokalizację, w której rozpoczyna się zwracany podciąg. Pierwsza pozycja w ciągu to 1.
- Długość - Jest to dodatnia liczba całkowita określająca liczbę znaków zwracanych z podłańcucha.
- Zwroty - Zwraca podciąg o określonej długości, zaczynając od lokalizacji w ciągu wejściowym.
Przykład funkcji SQL Server SUBSTRING().
Przyjrzyjmy się kilku przykładom funkcji SUBSTRING() w języku SQL i zobaczmy, jak jej używać na serwerze SQL.
Funkcja SQL SUBSTRING Przykład
W tym przykładzie używamy funkcji SUBSTRING w SQL Server.
Zapytanie:
SELECT SUBSTRING ('techcodeview.com',1,5);> Wyjście:

Zasady korzystania z funkcji SUBSTRING() w SQL
- Wszystkie trzy argumenty są wymagane w funkcji SQL substring(). Jeśli pozycja początkowa przekracza maksymalną liczbę znaków w wyrażeniu, funkcja substring() programu SQL Server nic nie zwraca.
- Całkowita długość może przekraczać maksymalną długość znaków oryginalnego ciągu.
- W tym przypadku wynikowy podciąg to cały ciąg od pozycji początkowej wyrażenia do znaku końcowego wyrażenia.
Funkcja SUBSTRING() z ciągami literałowymi
Używanie funkcji SQL SUBSTRING z ciągami literałowymi jest bardzo proste, wystarczy umieścić żądane wartości w składni.
przykładem systemu operacyjnego typu open source jest
Funkcja SUBSTRING() z przykładowymi ciągami znaków
Rozważmy to polecenie funkcji SQL SUBSTRING:
SELECT SUBSTRING ( 'SQL In Geeksforgeeks', 7, 18 ) AS ExtractString>
Pobierze oryginalny ciąg „SQL In Geeksforgeeks” i wyodrębni podciąg zaczynający się od 7. znaku i wyodrębniający długość 18 znaków. Wraz z powstałym podciągiem zostanie zwrócona nowa kolumna z aliasem ExtractString.
Aby wyodrębnić sekcję ciągu znaków w oparciu o ustaloną pozycję początkową i długość, używana jest funkcja SUBSTRING. Jako pierwszy argument funkcji przekazywany jest oryginalny ciąg znaków, drugi argument określa znak początkowy, w tym przypadku siódmy. Trzeci argument, który w tym przypadku ma 18 znaków, określa, jak długo ma zostać wyodrębniony podciąg.
Celem użycia tego zapytania SQL jest wyodrębnienie określonej części dłuższego ciągu znaków, która jest potrzebna do dalszej analizy lub raportowania. Może być przydatne w przypadku dużych zbiorów danych, gdzie musimy wyodrębnić określone informacje z długiego ciągu tekstu i manipulować nimi.
Wyjście

Klucz kandydata
Funkcja SUBSTRING() z kolumnami tabeli
Aby użyć funkcji SUBSTRING() z kolumnami tabeli, najpierw utworzymy tabelę Szczegóły_gracza , który ma trzy kolumny: PlayerId, PlayerName i City. Ponieważ kolumna PlayerId jest wyznaczona jako klucz podstawowy, każdy wiersz w tabeli będzie miał inny identyfikator PlayerId.
Po utworzeniu tabeli do tabeli dodaje się dziesięć wierszy danych za pomocą instrukcji INSERT INTO. Chociaż kolumna PlayerId zostanie automatycznie wygenerowana jako unikalny identyfikator dla każdego wiersza, kolumny PlayerName i City mają określone wartości dla każdego wiersza.
Zapytanie :
CREATE TABLE Player_Details ( PlayerId INT PRIMARY KEY , PlayerName VARCHAR(50), City VARCHAR(50) ); INSERT INTO Player_Details (PlayerId, PlayerName, City) VALUES (1,'John', 'New York'), (2,'Sarah', 'Los Angeles'), (3,'David', 'Chicago'), (4,'Emily', 'Houston'), (5,'Michael', 'Phoenix'), (6,'Ava', 'Philadelphia'), (7,'Joshua', 'San Antonio'), (8,'Sophia', 'San Diego'), (9,'Daniel', 'Dallas'), (10,'Olivia', 'San Jose');>
Wyjście:

Funkcja SUBSTRING() z przykładem kolumn tabeli
W tym przykładzie użyjemy funkcji SUBSTRING() w kolumnie tabeli.
Zapytanie
SELECT SUBSTRING (PlayerName, 1, 3) AS ExtractString FROM Player_Details;>
Wyjście

Kolumna PlayerName w podzapytaniu otrzymuje funkcję SUBSTRING, która wybiera pierwsze trzy znaki każdej nazwy. Wynikiem tej operacji na podciągu jest zwrócenie kolumny PlayerName z podzapytania w nowej kolumnie z aliasem ExtractString.
Używanie SUBSTRING w zapytaniach zagnieżdżonych
Zakładając, że chcesz użyć funkcji SUBSTRING w zagnieżdżonym zapytaniu w tabeli player_Details, możesz użyć następującego kodu SQL
Zapytanie
SELECT SUBSTRING (subquery.PlayerName, 1, 3) AS ShortenedName, subquery.City FROM ( SELECT * FROM Player_Details WHERE City = 'New York' ) AS subquery;>
Wyjście

hashmapa w Javie
Aby wybrać wszystkie wiersze z tabeli Player_Details, w których kolumna Miasto jest równa Nowy Jork, to zapytanie SQL najpierw tworzy zapytanie zagnieżdżone. Wyprowadzona tabela lub podzapytanie zawierające wyniki tego zagnieżdżonego zapytania jest następnie używana jako dane wejściowe funkcji SUBSTRING.
Kolumna PlayerName w podzapytaniu otrzymuje funkcję SUBSTRING, która wybiera pierwsze trzy znaki każdej nazwy. Wynik tej operacji na podciągu jest następnie zwracany wraz z kolumną Miasto z podzapytania w nowej kolumnie z aliasem SkróconaNazwa.
Ważna funkcja Informacje o funkcji SQL SUBSTRING
- Funkcja SUBSTRING() wyodrębnia podciąg z łańcucha, zaczynając od określonej pozycji i o opcjonalnej długości.
- Można go używać z ciągami literałowymi lub kolumnami w tabeli.
- The LEWY() I PRAWIDŁOWY() funkcje są także implementacją funkcji SUBSTRING().
- Użycie SUBSTRING() w klauzuli WHERE negatywnie wpływa na wydajność zapytania, ponieważ funkcja zostanie wykonana dla każdego wiersza.