La funzione SUBSTRING nelle query SQL viene spesso utilizzata quando si lavora con dati di testo: è responsabile del "trimming" della stringa inviata ad esso.
Come nella maggior parte dei linguaggi di programmazione,inclusi ORACLE e MS SQL, SUBSTRING include tre parametri. Il primo argomento della funzione è la stringa di input stessa: puoi registrarla esplicitamente o ottenerla come risultato dell'esecuzione di una determinata query. Poi ci sono due parametri numerici: il simbolo iniziale, da cui avviene il taglio, e la lunghezza stessa - il numero di caratteri da leggere, a partire dalla posizione iniziale.
La struttura della query in SQL è la seguente:
SUBSTRING ("some string", 1, 3)
Il risultato di questa query saràstring "eco" - nella funzione SQL SUBSTRING definisce gli elementi, iniziando dallo zero, che, in questo esempio, è la lettera "n". Va notato che se si specifica una lunghezza negativa, il DBMS darà un errore e se si seleziona un valore che supera la differenza tra il numero dell'ultimo carattere e il numero iniziale, il risultato della query sarà una catena con un simbolo dalla posizione specificata alla fine della riga.
In SQL, SUBSTRING è usato raramenteesecuzione di query semplici - fondamentalmente la funzione viene applicata come parte di un algoritmo complesso. Tuttavia, ci sono anche problemi abbastanza semplici con la sua partecipazione. Quindi, per esempio, se vuoi creare una categoria utente simile alla prima lettera del loro cognome, allora SUBSTRING farà a meno della ripartizione ausiliaria della stringa.
SELECT Addres, SUBSTRING (LastName, 1, 1) AS FirstChar FROM Clients
Pertanto, è possibile creare un semplificatorubrica telefonica dove ottenere l'intero elenco di utenti il cui nome inizia con una certa lettera, sarà sufficiente selezionare il campo FirstChar.
Un esempio più realistico è la creazione di una versione abbreviata del nome utente, ovvero, il nome con il nome iniziale del cliente deve essere restituito come risultato della richiesta.
SELECT LastName & "" & SUBSTRING (FirstName, 1, 1) & "." COME iniziale dai client
Va notato che SQL SUBSTRING funziona ugualmente bene con entrambi i campi di testo e quelli numerici.
</ p>