Подтвердить что ты не робот

Какова цель размещения "N" перед параметрами функции в TSQL?

Какова цель размещения "N" перед параметрами функции в TSQL?

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

object_id(N'dbo.MyTable')
4b9b3361

Ответ 1

Он указывает на "национализированную" константу строки unicode a.k.a..

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

При работе с строковыми константами Unicode в SQL Server вы должны предшествовать всем строкам Unicode с большой буквы N, как описано в разделе "Использование данных Unicode" в разделе "Электронная документация по SQL Server".

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

nchar и nvarchar

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

nchar(n)

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

nvarchar(n)

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