Funkcja Oracle Substr to funkcja wbudowana, która służy do wyodrębnienia podłańca z ciągu. Funkcja przyjmuje trzy argumenty: ciąg źródłowy, pozycja początkowa podjazdu i długość podrzędu. Funkcja zwraca określony podłoże z ciągu źródłowego.
Funkcja substr jest pomocna dla szerokiej gamy zadań, które obejmują pracę z Strings w Oracle. Można go używać do wyodrębnienia podrzędnych z ciągów o stałej szerokości, do wyodrębnienia pierwszego lub ostatniego n znaków ciągu lub do wyodrębnienia podłoża na podstawie określonych wzorów lub ograniczeń.
Składnia funkcji substr jest prosta. Funkcja jest zwykle używana w instrukcji Select, gdzie można ją połączyć z innymi funkcjami stringowymi i klauzulami SQL w celu manipulowania i analizy danych ciągów.
W tym artykule omówiono składnię i użycie funkcji Oracle Substr, a także kilka przykładów, które pomogą Ci zacząć korzystać z tej funkcji we własnych zapytaniach i aplikacjach.
Definicja składni funkcji
Poniżej pokazuje składnię funkcji substr () w Oracle:
Substr (źródło_string, start_position, długość)
Argumenty funkcyjne są następujące:
Przykładowe użycie funkcji
Odkryjmy kilka przykładów korzystania z funkcji substr () w bazach danych Oracle.
Pokazana jest prosta przykładowa demonstracja:
Wybierz Substr („Hello World”, 4, 6) jako RES z Dual;
W powyższym przykładzie funkcja substr () wyodrębni podłoże o długości 6 z ciągu „Hello World”. Funkcja rozpocznie się od pozycji 4, która odnosi się do piątego znaku w ciągu.
Postacie Whitespace są również uważane za prawidłowe znaki.
Kod powyżej powinien zwrócić wynikowy ciąg jako:
Przykład 2
Możemy również określić wartość ujemną dla pozycji początkowej podczas pracy z funkcją substr (). W takim przypadku funkcja uruchomi pozycję od prawej strony łańcucha.
Przykładem jest jak pokazano:
Wybierz Substr („Hello World”, -4, 6) jako RES z Dual;
Wyjście:
Jak widać, funkcja wyodrębnia ostatnie cztery znaki ciągu.
Przykład 3
Możemy również użyć funkcji substr () z kolumną tabeli, aby wyodrębnić określone wartości z danego ciągu wejściowego.
Przykładową demonstracją jest jak pokazano:
Tabela źródłowa:
Utwórz tabelę próbki_data
(
numer identyfikacyjny,
First_name varchar2 (50),
ip_address varchar2 (20),
btc_address varchar2 (50),
credit_card varchar2 (50),
identyfikator varchar2 (40),
ograniczenie klawisz podstawowy próbki_pk (id)
);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (1, „Wallas”, „169.158.70.77 ', „1CNZ5D1D5SC8SAR6DFSVIHWZTQYX5FG77Q”, „4017955174552”,
„26811D77-0A3A-4397-BC33-F7835F7C7AB9”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (2, „Ian”, „148.190.10.178 ', „1ADXBV7N9JEDDCB8PL24J9WV54MCSRHDU7”, „4017956704480827”,
„A69FE590-BC1B-4001-8FF8-154BCDB5802D”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (3, „Pasquale”, „150.86.18.140 ', „126HVKOM2FOY9LEA6M4PUAT1H97C2RSD8B”, „4017953296787867”,
„34AC9385-9E1E-4D13-9537-C4EEDB9F2C35”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (4, „Devi”, „241.230.243.196 ', „1d9fysxn9f3akpzfxk9oijpette9ybynpx”, „4017953082740”,
„BA67EB8D-FABA-46CE-BA4F-67BA75E10838”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (5, „Sylvester”, '82.51.73.188 ', „1VBZQ6ORGTXPGMHTFPSKU12JXFO3RVSH8”, „4041379082464”,
„30CCA1E2-575F-4333-90EC-25CB04B43E52”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (6, „Germaine”, „7.235.247.115 ', „15hri9bpcefikzjruapvtfdcagyhbc6hvx”, „4017959839721”,
„7EC7D3FD-C140-4B33-B97B-94C06451AA73”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (7, „Alix”, '63.31.160.54 ', „1NYHTXE635UXWRA5UV5W8T8MN7XXFBDAJE”, „401795321269215”,
„3120F1D4-3586-41D9-A3ED-1E50F335A124”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (8, „Babita”, „208.85.91.138 ',' 1huxjtnfctij2l8l1z1qif37kmkflyxltx ',' 401795405862390 '',
„0739C5F8-853C-47DE-Afee-1aea104bd236”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (9, „Garnet”, '31.79.138.52 ', „1lKJKUBDNMXXI5UJ7H2BT7S732FV9QYTPQ”, „4017956748784”,
„034ACB80-7A69-4E94-A424-FBEAFB7C97BA”);
Włóż do próbki_data (id, pierwsza nazwa_namalna, ip_address, btc_address, credit_card, identyfikator)
Wartości (10, „Lucia”, „153.191.2.219 ', „1GA1DHCZTSSS7HAFVKMOA4C1NG6TPKNTKZ”, „4017957698631755”,
„E11195-C5DA-406B-BEB3-D8791D8EA5B7”);
Jeśli chcemy wyodrębnić ostatnie cztery liczby kolumny Credit_Card, możemy uruchomić zapytanie, jak pokazano:
Wybierz nazwę First_name, ip_address, substr (credit_card, -4, 5) jako MaskED_Card z Sample_Data Sd;
Wynik:
Wniosek
Funkcja substru jest często łączona z innymi ciągami, takimi jak długość i instrumenty, w celu manipulowania i analizowania ciągów w wyroczni. Może być przydatny do zadań, takich jak wyodrębnianie podrzędnych z ciągów o stałej szerokości, wyodrębnianie pierwszych lub ostatnich n znaków łańcucha lub wyodrębnianie podrzędnych na podstawie określonych wzorów lub ograniczeń.