Member 14479161 Ответов: 4

Что такое menat by N рядом с именем в этом SQL quary


declare @Departement_Name varchar(100)
execute SP_GETDepartementByName <big>N'mike'</big>,
@Departement = @Departement_Name output
select @Departement_Name


в чем разница между его добавлением и удалением

Что я уже пробовал:

просто снимаю его
<pre>declare @Departement_Name varchar(100)
execute SP_GETDepartementByName <big>N'mike'</big>,
@Departement = @Departement_Name output
select @Departement_Name

4 Ответов

Рейтинг:
33

jimmson

Он объявляет строку как тип данных nvarchar, а не varchar.
Источник: sql server - что означает префикс N в операторах T-SQL? - переполнение стека[^]


Maciej Los

5ed!

Рейтинг:
25

#realJSOP

Это означает, что значение является строкой Юникода.


Maciej Los

5ed!

Рейтинг:
19

Maciej Los

N это приставка. Он идентифицирует/объявляет NVARCHAR тип данных вместо VARCHAR. N префикс указывает sql server обрабатывать строку как значение unicode


Для получения более подробной информации, пожалуйста, смотрите:
nchar и nvarchar (Transact-SQL) - SQL Server | Microsoft Docs[^]
char и varchar (Transact-SQL) - SQL Server | Microsoft Docs[^]


jimmson

5!

Maciej Los

Спасибо.

Рейтинг:
12

OriginalGriff

N'a string' означает, что "строка" является Юникодом и должна храниться в столбце NVARCHAR, а не в VARCHAR. Без "н", он возвращается к старой, меньше ASCII в тип varchar.

В общем, несмотря на необходимость большего пространства, вы должны использовать NVARCHAR для соответствия современным приложениям и фреймворкам, таким как .NET


Maciej Los

5ed!