La funzione Oracle Substr è una funzione integrata che viene utilizzata per estrarre una sottostringa da una stringa. La funzione prende tre argomenti: la stringa di origine, la posizione iniziale della sottostringa e la lunghezza della sottostringa. La funzione restituisce la sottostringa specificata dalla stringa di origine.
La funzione substr è utile per una vasta gamma di attività che prevedono il lavoro con le stringhe in Oracle. Può essere utilizzato per estrarre sottostringhe da stringhe a larghezza fissa, per estrarre i primi o ultimi n caratteri di una stringa o per estrarre substrings basate su modelli o delimitatori specifici.
La sintassi della funzione substr è semplice. La funzione viene generalmente utilizzata in un'istruzione selezionata, in cui può essere combinata con altre funzioni di stringa e clausole SQL per manipolare e analizzare i dati delle stringhe.
Questo articolo discuterà la sintassi e l'utilizzo della funzione Oracle Substr, insieme ad alcuni esempi per aiutarti a iniziare con l'utilizzo di questa funzione nelle tue domande e applicazioni.
Definizione della sintassi della funzione
Di seguito mostra la sintassi per la funzione substr () in Oracle:
Substr (source_string, start_position, lunghezza)
Gli argomenti della funzione sono i seguenti:
Esempio di utilizzo della funzione
Scopriamo alcuni esempi di come utilizzare la funzione substr () nei database Oracle.
Una semplice dimostrazione di esempio è come mostrato:
Seleziona substr ("Hello World", 4, 6) come res da Dual;
Nell'esempio sopra, la funzione substr () estraggerà la sottostringa di lunghezza 6 dalla stringa "Hello World". La funzione inizierà dalla posizione 4, che si riferisce al quinto carattere nella stringa.
I caratteri di spazi bianchi sono anche considerati caratteri validi.
Il codice sopra dovrebbe restituire la stringa risultante come:
Esempio 2
Possiamo anche specificare un valore negativo per la posizione iniziale quando si lavora con la funzione substr (). In tal caso, la funzione avverrà la posizione dal lato destro della stringa.
Un esempio è come mostrato:
Seleziona substr ('Hello World', -4, 6) come res da Dual;
Produzione:
Come puoi vedere, la funzione estrae gli ultimi quattro caratteri della stringa.
Esempio 3
Possiamo anche utilizzare la funzione substr () con una colonna tabella per estrarre valori specifici da una determinata stringa di input.
Una dimostrazione di esempio è come mostrato:
Tabella di origine:
Crea table sample_data
(
Numero ID,
first_name varchar2 (50),
ip_address varchar2 (20),
btc_address varchar2 (50),
Credit_Card Varchar2 (50),
Identificatore varchar2 (40),
Chiave primaria del vincolo Sample_PK (ID)
);
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (1, "Wallas", 169.158.70.77 ',' 1cnz5d1d5sc8sar6dfsvihwztqyx5fg77q ',' 4017955174552 ',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (2, "Ian", "148.190.10.178 ',' 1Adxbv7n9jeddcb8pl24j9wv54mcsrhdu7 ',' 4017956704480827 ',
'A69FE590-BC1B-4001-8FF8-154BCDB5802D');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (3, "Pasquale", 150.86.18.140 ',' 126HVKOM2FOY9LEA6M4PUAT1H97C2RSD8B ',' 4017953296787867 ',
'34AC9385-9E1E-4D13-9537-C4EEDB9F2C35');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (4, "Devi", 241.230.243.196 ',' 1d9fysxn9f3akpzfxk9oijpette9ybynpx ',' 4017953082740 ',
'BA67EB8D-FABA-46CE-BA4F-67BA75E10838');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (5, "Sylvester", '82.51.73.188 ',' 1vbzq6orgtxpgmhtfpsku12jxfo3rvsh8 ',' 4041379082464 ',
'30cca1e2-575f-4333-90ec-25cb04b43e52');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (6, "Germaine", 7.235.247.115 ',' 15hri9bpcefikzjruapvtfdcagyhbc6hvx ',' 4017959839721 ',
'7ec7d3fd-c140-4b33-b97b-94c06451aa73');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (7, 'Alix', '63.31.160.54 ',' 1NYHTXE635uxwra5uv5w8t8mn7xxfbdaje ',' 4017953212669215 ',
'3120f1d4-3586-41d9-a3ed-1e50f335a124');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (8, "Babita", 208.85.91.138 ',' 1Huxjtnfctij2l8l1z1qif37kmkflyxltx ',' 4017955405862390 ',
'0739c5f8-853c-47de-afee-1aea104bd236');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (9, 'Garnet', '31.79.138.52 ',' 1lkjkubdnmxxi5uj7h2bt7s732fv9qytpq ',' 4017956748784 ',
'034ACB80-7A69-4E94-A424-FBEAFB7C97BA');
Inserisci in sample_data (id, first_name, ip_address, btc_address, crediti_card, identifier)
Valori (10, "Lucia", 153.191.2.219 ',' 1GA1DHCZTSS7HAFVKMOA4C1NG6TPKNTKZ ',' 4017957698631755 ',
'E111E195-C5DA-406B-beb3-d8791d8ea5b7');
Se desideriamo estrarre gli ultimi quattro numeri della colonna Credit_Card, possiamo eseguire una query come mostrato:
Seleziona First_name, ip_address, substr (Credit_card, -4, 5) come masched_card da sample_data sd;
Risultato:
Conclusione
La funzione del substr è spesso combinata con altre stringhe, come la lunghezza e gli strumenti, per manipolare e analizzare le stringhe in Oracle. Può essere utile per attività come l'estrazione di sottostringi da stringhe a larghezza fissa, estrarre i primi o ultimi n caratteri di una stringa o estrarre sottostringhe basate su modelli o delimitatori specifici.