Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Funkcja SUBSTRING

Termin Definicja
Funkcja SUBSTRING

Funkcja SUBSTRING zwraca wskazany fragment ciągu tekstowego, począwszy od podanej pozycji i o określonej długości.

Jak działa funkcja SUBSTRING w zapytaniu SQL

Funkcja SUBSTRING służy do pobierania fragmentu wartości tekstowej. Otrzymuje ciąg znaków, pozycję początkową oraz długość fragmentu, a następnie zwraca nowy ciąg zawierający wybrane znaki. Operacja nie zmienia wartości zapisanej w tabeli. Wynik funkcji może zostać użyty w klauzuli SELECT, WHERE, ORDER BY, GROUP BY albo w wyrażeniu obliczającym inną wartość.

Ogólna postać zapisu jest przedstawiana jako SUBSTRING(tekst, pozycja_początkowa, długość), ale dokładna składnia zależy od używanego silnika SQL. W części systemów spotykana jest również forma z użyciem słowa FROM i FOR, na przykład SUBSTRING(tekst FROM pozycja FOR długość). Z tego powodu zapytania należy sprawdzać w dokumentacji konkretnej bazy danych, a nie zakładać, że identyczny zapis będzie akceptowany przez każdy silnik.

Pozycja początkowa, długość i zakres zwracanego tekstu

Pozycja początkowa określa, od którego znaku rozpocznie się wynik. Jeżeli wartość tekstowa zawiera napis „komputer”, a pobieranie rozpoczyna się od pierwszego znaku i obejmuje trzy znaki, wynikiem będzie „kom”. Długość wskazuje maksymalną liczbę znaków do zwrócenia, dlatego zmiana tego argumentu zmienia zakres wyniku. Przy analizowaniu zapytania trzeba uwzględnić sposób numerowania znaków przyjęty przez konkretny silnik, ponieważ najczęściej pierwsza pozycja ma numer 1, lecz szczegóły dotyczące indeksowania, wartości ujemnych i parametrów pominiętych mogą się różnić.

Jeżeli żądany zakres wykracza poza koniec tekstu, silnik zwykle zwraca tylko znaki, które rzeczywiście istnieją, zamiast dopisywać brakujące znaki. Zachowanie dla pozycji równej zero, wartości ujemnych, długości równej zero albo wartości NULL nie jest jednak jednolite we wszystkich implementacjach. W praktyce takie przypadki powinny być opisane w warunku zapytania albo obsłużone osobno. Szczególnej uwagi wymagają wartości NULL: wynik działania funkcji na NULL często pozostaje NULL, ponieważ brak wartości nie jest tym samym co pusty tekst.

Przykłady wykorzystania w przetwarzaniu danych

SUBSTRING może być używana do wyodrębniania prefiksu numeru urządzenia, części kodu produktu, fragmentu identyfikatora albo pierwszych znaków pola opisowego. Przykładowo, gdy kolumna zawiera wartości w ustalonym formacie, funkcja może pobrać początkową część kodu i umożliwić jej porównanie z inną wartością. Takie rozwiązanie ma sens wtedy, gdy pozycje elementów są stałe albo format danych jest wcześniej zweryfikowany.

Funkcja bywa także stosowana podczas kontroli jakości danych. Można porównać określony fragment tekstu z oczekiwanym prefiksem, wykryć rekordy o nieprawidłowym formacie albo przygotować krótszą wartość do wyświetlenia. Nie należy jednak traktować SUBSTRING jako pełnego mechanizmu do analizy dowolnego tekstu. Gdy dane mają zmienną strukturę, zawierają separatory, różną długość lub znaki spoza prostego alfabetu, samo wycinanie według pozycji może prowadzić do błędnych wyników. W takich sytuacjach potrzebne mogą być funkcje wyszukiwania pozycji, wyrażeń regularnych, dzielenia tekstu albo jawnej walidacji.

Weryfikacja działania SUBSTRING na komputerze

Błąd związany z SUBSTRING może wynikać z niezgodnej składni, pomylenia kolejności argumentów, niewłaściwego typu danych albo odmiennego sposobu liczenia pozycji w danym silniku SQL. Przy sprawdzaniu problemu warto uruchomić małe zapytanie testowe na stałym tekście, a następnie powtórzyć je dla rzeczywistych danych. Należy osobno przetestować pusty tekst, NULL, tekst krótszy od oczekiwanego zakresu oraz wartości zawierające polskie znaki. Pozwala to odróżnić błąd samej funkcji od problemu z formatem danych lub mapowaniem kolumn w aplikacji.

Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów stacjonarnych PC oraz ich podzespołów. W przypadku problemu z programem uruchamianym na komputerze można sprawdzić między innymi środowisko systemowe, konfigurację aplikacji, połączenie z bazą oraz sposób przekazywania parametrów do zapytania, bez przypisywania błędu funkcji SUBSTRING przed zbadaniem całego przepływu danych.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę