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

Qual è il significato del prefisso N nelle istruzioni T-SQL e quando dovrei usarlo?

Dichiara la stringa come nvarchar tipo di dati, anziché varchar

Potresti aver visto codice Transact-SQL che passa stringhe usando un prefisso N. Ciò indica che la stringa successiva è in Unicode (la N sta effettivamente per set di caratteri della lingua nazionale). Ciò significa che stai passando un valore NCHAR, NVARCHAR o NTEXT, opposto a CHAR, VARCHAR o TEXT.

Per citare da Microsoft:

Prefisso Costanti della stringa di caratteri Unicode con la lettera N. Senza il prefisso N, la stringa viene convertita nella tabella codici predefinita del database. Questa tabella codici predefinita potrebbe non riconoscere determinati caratteri .

Se vuoi conoscere la differenza tra questi due tipi di dati, consulta questo post SO:

Qual è la differenza tra varchar e nvarchar?