In SQL Server, T-SQL CHAR()
la funzione converte un int Codice ASCII in un valore di carattere. In altre parole, si passa un numero intero e la funzione lo interpreta come il valore del codice per un carattere stringa e restituisce il carattere stringa corrispondente.
Sintassi
La sintassi è questa:
CHAR ( integer_expression )
Dove integer_expression
è un numero intero compreso tra 0 e 255.
Se specifichi un numero intero al di fuori di questo intervallo, il risultato è NULL
. Lo stesso vale se fornisci un numero intero che esprime solo il primo byte di un carattere a doppio byte.
Esempio 1 – Utilizzo di base
Ecco un esempio per dimostrare l'utilizzo di base:
SELECT CHAR(67) AS 'Result';
Risultato:
+----------+ | Result | |----------| | C | +----------+
Quindi, se cambiamo il numero intero, otteniamo un carattere diverso:
SELECT CHAR(255) AS 'Result';
Risultato:
+----------+ | Result | |----------| | ÿ | +----------+
Esempio 2:numeri interi multipli
Questa funzione non supporta più interi come argomenti. Se fornisci più numeri interi, riceverai un errore.
Ecco un esempio:
SELECT CHAR(67, 255) AS 'Result';
Risultato:
The char function requires 1 argument(s).
Nota che questo è in contrasto con CHAR()
di MySQL funzione (che consente di fornire più numeri interi).
Esempio 3 – Interi fuori intervallo
Questa funzione inoltre non supporta numeri interi al di fuori dell'intervallo da 1 a 255. Se il tuo argomento è al di fuori di questo intervallo, il risultato è NULL
.
Ecco un esempio:
SELECT CHAR(256) AS 'Result';
Risultato:
+----------+ | Result | |----------| | NULL | +----------+
Questo è ancora una volta in contrasto con CHAR()
di MySQL funzione, che accetta numeri interi maggiori di 255 (in tal caso, vengono automaticamente convertiti in più byte di risultati).
Esempio 4 – Inserimento di caratteri di controllo
Ecco un esempio di utilizzo di CHAR(13)
per stampare i caratteri successivi su una nuova riga:
SELECT 'Homer' + CHAR(13) + '[email protected]' AS 'Name/Email';
Risultato:
+--------------+ | Name/Email | |--------------| | Homer [email protected] | +--------------+
Ecco come appare se rimuoviamo CHAR(13)
:
SELECT 'Homer' AS 'Name', '[email protected]' AS 'Email';
Risultato:
+--------+-----------------------+ | Name | Email | |--------+-----------------------| | Homer | [email protected] | +--------+-----------------------+