Какова цель поставить 'N' перед параметрами функции в TSQL?
Какова цель поставить 'N' перед параметрами функции в TSQL?
Например, что делает N
означает перед параметром функции в следующем коде:
object_id(N'dbo.MyTable')
1 ответ
Указывает национализированную строковую константу в юникоде.
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
различаются национальные символы и национальный характер.