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