Должен ли я использовать префикс N в операторе «вставить в» для Unicode? - PullRequest
10 голосов
/ 25 декабря 2008

Как:
вставить в таблицу (col) значения (N 'многоязычные строки Unicode')

Я использую SQL Server 2008 и уже использую nVarChar в качестве типа данных столбца.

Ответы [ 4 ]

12 голосов
/ 25 декабря 2008

Синтаксис N '' необходим только в том случае, если строка содержит символы, которых нет в кодовой странице по умолчанию. «Лучшая практика» - использовать N каждый раз, когда вы вставляете в столбец nvarchar или ntext.

3 голосов
/ 25 декабря 2008

Да, если у вас есть символы Юникода в строках.

Из книг онлайн (http://msdn.microsoft.com/en-us/library/ms191313.aspx)...

"Строковым константам Unicode, которые появляются в коде, выполняемом на сервере, например в хранимых процедурах и триггерах, должна предшествовать заглавная буква N. Это верно, даже если столбец, на который делается ссылка, уже определен как Unicode. Без Префикс N, строка преобразуется в кодовую страницу базы данных по умолчанию. Это может не распознавать определенные символы. Требование использования префикса N распространяется как на строковые константы, которые происходят на сервере, так и на те, которые отправляются с клиента. "

0 голосов
/ 26 сентября 2011

Рекомендуется использовать параметризацию , в этом случае префикс N не требуется.

0 голосов
/ 25 декабря 2008

Предпочтительно для совместимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...