Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

3 modi per restituire una stringa di più spazi in SQL Server

Quando si lavora con i database ei dati associati, a volte è necessario inserire uno spazio quando si uniscono due stringhe, oppure a volte è necessario sostituire un carattere con uno spazio.

E poi a volte è necessario inserire più spazi. Ecco 3 modi per restituire una stringa di più spazi in SQL Server utilizzando T-SQL.

Opzione 1:digita tutti gli spazi

Il modo più ovvio è semplicemente digitare ogni spazio di cui hai bisogno. In questo modo:

SELECT 'Homer' + '            ' + 'Satriani';

Risultato:

-------------------------
Homer            Satriani

In questo esempio aggiungo 12 spazi tra altre due stringhe. Questo metodo è solitamente perfetto quando devi solo inserire uno o due spazi. Ma una volta che devi aggiungere, diciamo, una dozzina o più, può essere più facile usare SPACE() funzione.

Opzione 2:la funzione SPACE()

Il SPACE() La funzione è stata creata appositamente per questo scopo:restituire una stringa di spazi ripetuti. Digita semplicemente la funzione e fornisci un argomento che specifica quanti spazi sono richiesti.

Quindi possiamo convertire l'esempio precedente in questo:

SELECT 'Homer' + SPACE(12) + 'Satriani';

Risultato:

-------------------------
Homer            Satriani

Opzione 3:la funzione REPLICA()

Se devi inserire un numero molto elevato di spazi (8000 o più), allora dovresti usare REPLICATE() funzione. Questa funzione replica effettivamente qualsiasi carattere, non solo spazi.

Quindi possiamo modificare gli esempi precedenti come segue:

SELECT 'Homer' + REPLICATE(' ', 12) + 'Satriani';

Risultato:

-------------------------
Homer            Satriani

Puoi anche usare CHAR() funzione per indicare esplicitamente il carattere da utilizzare. Ad esempio, CHAR(32) per uno spazio o CHAR(160) per uno spazio unificatore:

SELECT 'Homer' + REPLICATE(char(160), 12) + 'Satriani';

Risultato:

-------------------------
Homer            Satriani

Sostituzione di uno spazio con più spazi

Quindi potremmo usare uno qualsiasi dei metodi precedenti all'interno di un REPLACE() funzione per sostituire un singolo spazio con più spazi.

Ecco un esempio usando SPACE() funzione:

SELECT REPLACE('Homer Satriani', ' ', SPACE(12));

Risultato:

-------------------------
Homer            Satriani