Transact-SQL Funzioni stringa

May 23

Transact-SQL Funzioni stringa


Il linguaggio di programmazione di database Transact-SQL è un dialetto di SQL standard di settore, o Structured Query Language. SQL Server e server di database di Sybase di Microsoft utilizzano Transact-SQL per costruire, mantenere e accedere a database relazionali. I programmatori manipolare spesso stringhe di caratteri, come ad esempio durante la ricerca per i numeri "123" in una lista di milioni di patente di guida numeri, o combinando nome e cognome in un singolo campo. Per fare questo, usano le funzioni di stringa integrate in Transact-SQL.

stringhe di caratteri

Una stringa di caratteri è un tipo di campo dati che contiene ogni tipo di testo, come ad esempio lettere, numeri, segni di punteggiatura e caratteri speciali. Per esempio, il nome e l'indirizzo di strada di una persona conta come stringhe di caratteri. Una stringa ha una lunghezza, e si può scegliere la stringa di caratteri a parte per carattere identificando posizioni nella stringa. Ad esempio, la stringa "Abraham Lincoln" ha una lunghezza di 15 caratteri. Il quinto carattere nella stringa è un "h". Anche se è possibile memorizzare i numeri in stringhe di caratteri, non è possibile eseguire operazioni aritmetiche su di loro a meno che non li converte in un tipo di dati numerici prima.

La concatenazione e separazione

Per combinare due stringhe in Transact-SQL, utilizzare un segno più (+) tra di loro. Per combinare primi e gli ultimi campi di nome, è possibile utilizzare il seguente codice:
table_name ( "first_name") + '' + table_name ( "cognome")
Nota lo spazio extra concatenati in mezzo per separare le due parole. Quando si combinano due o più stringhe in questo modo, i programmatori chiamano "concatenazione".
Si utilizza il DESTRA (), LEFT () e SUBSTRING funzioni () per separare una stringa in parti più piccole. DESTRA () e sinistra () ogni ripresa due parametri: la stringa ed un numero di lunghezza. SUBSTRING () richiede tre parametri: una stringa, un punto di partenza e una lunghezza. DESTRA () restituisce i caratteri più a destra, sinistra () fornisce il più a sinistra, e inizia SUBSTRING dove raccontarla. Ad esempio, DESTRA ( 'Abraham Lincoln', 4) restituisce la stringa 'Coln,' e SINISTRA ( 'Abraham Lincoln', 4) restituisce 'Abra.' SUBSTRING ( 'Abraham Lincoln', 7,3) restituisce 'm L,' dando tre personaggi, a partire dal settimo.

LTrim, RTrim e Len

È possibile effettuare una stringa di apparire più ordinato se si rimuove gli spazi dal suo inizio o alla fine. Ad esempio, se "first_name" e "cognome" erano entrambi i campi a lunghezza fissa di 15 caratteri, la concatenazione dei due dice: "Abraham Lincoln". Con il taglio dei spazi finali con RTRIM (), è possibile utilizzare il seguente Transact-SQL codice: RTRIM (table_name ( "first_name")) + '' + RTRIM (table_name ( "cognome"))
In questo modo si "Abraham Lincoln". La funzione LTRIM () rimuove gli spazi iniziali fino al primo carattere non vuoto in una stringa.
La funzione LEN () prende una stringa di caratteri e restituisce la sua lunghezza come un intero. LEN ( 'Svizzera') restituisce il numero 11.

charIndex

La funzione Transact-SQL CHARINDEX () esamina una stringa per il verificarsi di una stringa più piccola. Ci vogliono tre parametri: la stringa per il quale si sta cercando, la stringa da cercare e una posizione di partenza opzionale. Riporta la posizione iniziale della stringa, se si trova, come un numero. Se non trovato, CHARINDEX () restituisce uno zero. CHARINDEX ( 'aha', 'Abraham Lincoln'), ad esempio, restituisce un 4. CHARINDEX ( 'aha', 'Abraham Lincoln', 10) restituisce uno zero, come iniziando con la posizione 10 e lo spostamento verso destra, nessuna presenza di 'aha' esiste nella stringa.

Conversione

Transact-SQL fornisce alcune funzioni per convertire stringhe in modi diversi. La funzione UPPER () prende una stringa e converte tutte le lettere maiuscole alle versioni. UPPER ( 'Abraham Lincoln'), per esempio, torna 'Abraham Lincoln.' La funzione LOWER () converte tutte le lettere in minuscolo. LOWER ( 'Abraham Lincoln') si traduce in 'Abraham Lincoln.' La funzione reverse () inverte l'ordine dei caratteri, in modo inverso ( 'Abraham Lincoln') rese 'nlocniL Maharba.'