logo

Funkcja SUBSTRING() programu SQL Server

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:

Przykład funkcji podciągu

Zasady korzystania z funkcji SUBSTRING() w SQL

  1. 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.
  2. Całkowita długość może przekraczać maksymalną długość znaków oryginalnego ciągu.
  3. 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

funkcja substring() z przykładowymi ciągami znaków

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:

utworzono tabelę

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

funkcja substring() z przykładowymi wynikami kolumn tabeli

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

obraz

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.