Какова цель поставить '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 различаются национальные символы и национальный характер.

Другие вопросы по тегам