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

Come funziona la funzione NCHAR() in SQL Server (T-SQL)

In SQL Server puoi utilizzare T-SQL NCHAR() funzione per restituire il carattere Unicode in base al codice intero specificato.

Fornisci il codice intero come argomento e la funzione restituirà il carattere Unicode come definito dallo standard Unicode.

Sintassi

La sintassi è questa:

NCHAR ( integer_expression )

Dove integer_expression è il numero intero per il quale vuoi che venga restituito il carattere Unicode.

Esempio 1 – Utilizzo di base

Ecco un esempio di base da dimostrare:

SELECT NCHAR(123) AS Result;

Risultato:

+----------+
| Result   |
|----------|
| {        |
+----------+

Esempio 2 – Fuori portata

La documentazione Microsoft afferma quanto segue sull'intervallo di numeri interi accettabili:

Quando le regole di confronto del database non contengono il flag di carattere supplementare (SC), si tratta di un numero intero positivo compreso tra 0 e 65535 (da 0 a 0xFFFF). Se viene specificato un valore al di fuori di questo intervallo, viene restituito NULL. Per ulteriori informazioni sui caratteri supplementari, consulta Fascicolazione e supporto Unicode.

Quando le regole di confronto del database supportano il flag SC, si tratta di un numero intero positivo compreso tra 0 e 1114111 (da 0 a 0x10FFFF). Se viene specificato un valore al di fuori di questo intervallo, viene restituito NULL.

Ecco un esempio di cosa succede se usciamo dall'intervallo delle regole di confronto del database.

SELECT NCHAR(65536) AS Result;

Risultato:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

In questo caso, il database non contiene il flag di carattere supplementare (SC), e quindi 65536 è fuori intervallo e NULL viene restituito per quel valore.

Tipi di reso

Vale anche la pena notare che il tipo restituito di questa funzione è nchar(1) quando il database predefinito non supporta caratteri supplementari e nvarchar(2) quando lo fa.