Solución:
N
se utiliza para especificar una cadena Unicode.
Aquí hay una buena discusión: ¿Por qué algunas cadenas de SQL tienen un prefijo ‘N’?
En tu ejemplo N
El prefijo no es necesario porque los caracteres ASCII (con un valor inferior a 128) se asignan directamente a Unicode. Sin embargo, si desea insertar un nombre que no sea ASCII, entonces el N
se requeriría prefijo.
INSERT [dbo].[TableName] ([Sno], [Name], [EmployeeId], [ProjectId], [Experience])
VALUES (1, N'Wāhi', 'ESD157', 'FD080', 7)
los "N"
prefijo significa idioma nacional en el estándar SQL-92 y se utiliza para representar caracteres Unicode.
Cada vez que pase datos Unicode a SQL Server, debe anteponer la cadena Unicode con N
.
Se utiliza cuando el tipo es de NVARCHAR
, NCHAR
o NTEXT
.
Para obtener más información, consulte esto: ¿Por qué algunas cadenas de SQL tienen un prefijo ‘N’?
'abcd'
es un literal para un [var]char
cuerda (o tal vez text
, pero varchar(max)
sería más común ahora): ocupa 4 bytes de memoria y usa cualquier página de códigos para la que esté configurado el servidor SQL. N'abcd'
es un literal para un n[var]char
cuerda (o tal vez ntext
, pero nvarchar(max)
sería preferible), ocupando 8 bytes de memoria usando UTF-16. Esto permite un uso internacional completo y, francamente, n[var]char
probablemente debería ser el predeterminado en la mayoría de los sistemas.