Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Qual é o significado do prefixo N em instruções T-SQL e quando devo usá-lo?


Está declarando a string como nvarchar tipo de dados, em vez de varchar

Você pode ter visto o código Transact-SQL que passa strings usando um prefixo N. Isso denota que a sequência subsequente está em Unicode (o N na verdade significa conjunto de caracteres de idioma nacional). O que significa que você está passando um valor NCHAR, NVARCHAR ou NTEXT, em oposição a CHAR, VARCHAR ou TEXT.

Para citar da Microsoft:

Prefixe as constantes da cadeia de caracteres Unicode com a letra N. Sem o prefixo N, a cadeia é convertida na página de código padrão do banco de dados. Esta página de código padrão pode não reconhecer determinados caracteres .

Se você quiser saber a diferença entre esses dois tipos de dados, veja este post SO:

Qual é a diferença entre varchar e nvarchar?