Какова цель поставить 'N' перед параметрами функции в TSQL? - PullRequest
25 голосов
/ 15 марта 2010

Какова цель поставить 'N' перед параметрами функции в TSQL?

Например, что означает N перед параметром функции в следующем коде:

object_id(N'dbo.MyTable')

1 Ответ

41 голосов
/ 15 марта 2010

Указывает на "национализированную" строковую константу в кодировке Unicode.

http://support.microsoft.com/kb/239530

При работе со строковыми константами Юникода в SQL Server все строки Юникода должны начинаться с заглавной буквы N, как описано в электронной документации по SQL Server. Использование данных Юникода.

http://msdn.microsoft.com/en-us/library/aa276823%28SQL.80%29.aspx

nchar и nvarchar

Символьные типы данных, которые являются данными Unicode фиксированной длины (nchar) или переменной длины (nvarchar) и используют набор символов UNICODE UCS-2.

nchar(n)

Данные Unicode фиксированной длины из n символов. n должно быть значением от 1 до 4000. Размер хранилища в два раза больше n байтов. Синонимами SQL-92 для nchar являются национальный символ и национальный символ .

nvarchar(n)

Данные Unicode переменной длины из n символов. n должно быть значением от 1 до 4000. Размер хранилища в байтах в два раза превышает количество введенных символов. Введенные данные могут иметь длину 0 символов. Синонимами SQL-92 для nvarchar являются национальные и различные национальные символы .

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