Nvarchar max сколько символов

Nvarchar max сколько символов

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

Символьные типы данных имеют фиксированный (nchar) или переменный (nvarchar) размер. Character data types that are either fixed-size, nchar, or variable-size, nvarchar. Начиная с SQL Server 2012 (11.x) SQL Server 2012 (11.x) при использовании параметров сортировки с поддержкой дополнительных символов эти типы данных хранят весь диапазон символьных данных Юникод и используют кодировку UTF-16. Starting with SQL Server 2012 (11.x) SQL Server 2012 (11.x) , when a Supplementary Character (SC) enabled collation is used, these data types store the full range of Unicode character data and use the UTF-16 character encoding. Если указаны параметры сортировки без поддержки дополнительных символов, эти типы данных хранят только подмножество символьных данных, поддерживаемых кодировкой UCS-2. If a non-SC collation is specified, then these data types store only the subset of character data supported by the UCS-2 character encoding.

Аргументы Arguments

nchar [ ( n ) ] nchar [ ( n ) ]
Строковые данные фиксированного размера. Fixed-size string data. n определяет размер строки в парах байтов и должно иметь значение от 1 до 4000. n defines the string size in byte-pairs and must be a value from 1 through 4,000. Размер хранилища — дважды n байт. The storage size is two times n bytes. В случае с кодировкой UCS-2 размер при хранении определяется как дважды n байт, а количество хранимых символов равно n. For UCS-2 encoding, the storage size is two times n bytes and the number of characters that can be stored is also n. Для кодировки UTF-16 размер при хранении также равен дважды n байт, но количество хранимых символов может быть меньше n, так как дополнительные символы используют две пары байтов (также называются суррогатными парами). For UTF-16 encoding, the storage size is still two times n bytes but the number of characters that can be stored may be smaller than n because Supplementary Characters use two byte-pairs (also called surrogate-pair). Синонимами типа nchar по стандарту ISO являются типы national char и national character. The ISO synonyms for nchar are national char and national character.

nvarchar [ ( n | max ) ] nvarchar [ ( n | max ) ]
Строковые данные переменного размера. Variable-size string data. n определяет размер строки в парах байтов и может иметь значение от 1 до 4000. n defines the string size in byte-pairs and can be a value from 1 through 4,000. Значение max указывает, что максимальный размер при хранении составляет 2^30-1 символов (2 ГБ). max indicates that the maximum storage size is 2^30-1 characters (2 GB). Размер при хранении определяется как дважды n байт + 2 байта. The storage size is two times n bytes + 2 bytes. В случае с кодировкой UCS-2 размер при хранении определяется как дважды n байт + 2 байта, а количество хранимых символов равно n. For UCS-2 encoding, the storage size is two times n bytes + 2 bytes and the number of characters that can be stored is also n. Для кодировки UTF-16 размер при хранении также равен дважды n байт + 2 байта, но количество хранимых символов может быть меньше n, так как дополнительные символы используют две пары байтов (также называются суррогатными парами). For UTF-16 encoding, the storage size is still two times n bytes + 2 bytes but the number of characters that can be stored may be smaller than n because Supplementary Characters use two byte-pairs (also called surrogate-pair). Синонимами типа nvarchar по стандарту ISO являются типы national char varying и national character varying. The ISO synonyms for nvarchar are national char varying and national character varying.

Remarks Remarks

Часто ошибочно считают, что в типах данных NCHAR(n) и NVARCHAR(n) число n указывает на количество символов. A common misconception is to think that NCHAR(n) and NVARCHAR(n), the n defines the number of characters. Однако на самом деле число n в NCHAR(n) и NVARCHAR(n) — это длина строки в парах байтов (0–4000). But in NCHAR(n) and NVARCHAR(n) the n defines the string length in byte-pairs (0-4,000). n никогда не определяет количество хранимых символов. n never defines numbers of characters that can be stored. То же самое верно и в отношении типов CHAR(n) и VARCHAR(n). This is similar to the definition of CHAR(n) and VARCHAR(n).
Заблуждение возникает из-за того, что при использовании символов, определенных в диапазоне Юникода 0–65 535, на каждую пару байтов приходится один хранимый символ. The misconception happens because when using characters defined in the Unicode range 0-65,535, one character can be stored per each byte-pair. Однако в старших диапазонах Юникода (65 536–1 114 111) один символ может занимать две пары байтов. However, in higher Unicode ranges (65,536-1,114,111) one character may use two byte-pairs. Например, в столбце, определенном как NCHAR(10), Компонент Database Engine Database Engine может хранить 10 символов, занимающих одну пару байтов (диапазон Юникода 0–65 535), но меньше 10 символов, занимающих две пары байтов (диапазон Юникода 65 536–1 114 111). For example, in a column defined as NCHAR(10), the Компонент Database Engine Database Engine can store 10 characters that use one byte-pair (Unicode range 0-65,535), but less than 10 characters when using two byte-pairs (Unicode range 65,536-1,114,111). Дополнительные сведения о хранении символов Юникода и их диапазонах см. в разделе Различия в хранении UTF-8 и UTF-16. For more information about Unicode storage and character ranges, see Storage differences between UTF-8 and UTF-16.

Читайте также:  Lg 32lv2500 не включается

Если значение n в определении данных или в инструкции объявления переменной не указано, то длина по умолчанию равна 1. When n is not specified in a data definition or variable declaration statement, the default length is 1. Когда n не задано функцией CAST, длина по умолчанию равняется 30. When n is not specified with the CAST function, the default length is 30.

Если вы используете nchar или nvarchar, мы рекомендуем: If you use nchar or nvarchar, we recommend to:

  • использовать nchar, если размеры записей данных в столбцах одинаковые; Use nchar when the sizes of the column data entries are consistent.
  • использовать nvarchar, если размеры записей данных в столбцах существенно отличаются; Use nvarchar when the sizes of the column data entries vary considerably.
  • использовать nvarchar(max) , если размеры записей данных в столбцах существенно отличаются и длина строки может превышать 4000 пар байтов. Use nvarchar(max) when the sizes of the column data entries vary considerably, and the string length might exceed 4,000 byte-pairs.

Тип sysname — это предоставляемый системой определяемый пользователем тип данных, который функционально эквивалентен типу nvarchar(128) за исключением того, что он не допускает значения NULL. sysname is a system-supplied user-defined data type that is functionally equivalent to nvarchar(128), except that it is not nullable. Тип sysname используется для ссылки на имена объектов баз данных. sysname is used to reference database object names.

Объектам, в которых используются типы данных nchar и nvarchar, назначаются параметры сортировки базы данных по умолчанию, если только иные параметры сортировки не назначены с помощью предложения COLLATE. Objects that use nchar or nvarchar are assigned the default collation of the database unless a specific collation is assigned using the COLLATE clause.

Для типов данных nchar и nvarchar параметр SET ANSI_PADDING всегда принимает значение ON. SET ANSI_PADDING is always ON for nchar and nvarchar. Параметр SET ANSI_PADDING OFF не применяется к типам данных nchar или nvarchar. SET ANSI_PADDING OFF does not apply to the nchar or nvarchar data types.

Префикс N в строковых константах с символами Юникода указывает на входные данные в кодировке UCS-2 или UTF-16 (в зависимости от того, используются ли параметры сортировки с поддержкой дополнительных символов). Prefix a Unicode character string constants with the letter N to signal UCS-2 or UTF-16 input, depending on whether an SC collation is used or not. Без префикса N строка преобразуется в стандартную кодовую страницу базы данных, и определенные символы могут не распознаваться. Without the N prefix, the string is converted to the default code page of the database that may not recognize certain characters. Начиная с SQL Server 2019 (15.x) SQL Server 2019 (15.x) при использовании параметров сортировки с поддержкой UTF-8 стандартная кодовая страница может хранить символы Юникода в кодировке UTF-8. Starting with SQL Server 2019 (15.x) SQL Server 2019 (15.x) , when a UTF-8 enabled collation is used, the default code page is capable of storing UNICODE UTF-8 character set.

Читайте также:  Rs 485 напряжение в линии

Когда строковая константа имеет префикс N и ее длина не превышает максимальную длину строкового типа данных nvarchar (4000), результатом неявного преобразования будет строка в кодировке UCS-2 или UTF-16. When prefixing a string constant with the letter N, the implicit conversion will result in a UCS-2 or UTF-16 string if the constant to convert does not exceed the max length for the nvarchar string data type (4,000). В противном случае результатом неявного преобразования будет большое значение nvarchar(max). Otherwise, the implicit conversion will result in a large-value nvarchar(max).

Каждому ненулевому столбцу varchar(max) и nvarchar(max) необходимо дополнительно выделить 24 байта памяти, которые учитываются в максимальном размере строки в 8060 байт во время операции сортировки. Each non-null varchar(max) or nvarchar(max) column requires 24 bytes of additional fixed allocation, which counts against the 8,060-byte row limit during a sort operation. Эти дополнительные байты могут неявно ограничивать число ненулевых столбцов varchar(max) или nvarchar(max) в таблице. These additional bytes can create an implicit limit to the number of non-null varchar(max) or nvarchar(max) columns in a table. При создании таблицы или во время вставки данных не возникает особых ошибок (кроме обычного предупреждения о том, что максимальный размер строки превышает максимально допустимое значение в 8060 байт). No special error is provided when the table is created (beyond the usual warning that the maximum row size exceeds the allowed maximum of 8,060 bytes) or at the time of data insertion. Такой большой размер строки может приводить к ошибкам (например, ошибке 512), которые пользователи не ожидают во время обычных операций. This large row size can cause errors (such as error 512) that users may not anticipate during some normal operations. Примерами операций могут служить обновление ключа кластеризованного индекса или сортировка полного набора столбцов. Two examples of operations are a clustered index key update, or sorts of the full column set.

Преобразование в символьные данные Converting Character Data

Сведения о преобразовании символьных данных см. в статье char и varchar (Transact-SQL). For information about converting character data, see char and varchar (Transact-SQL).

ПРИМЕНЯЕТСЯ К: SQL Server (начиная с 2008) База данных SQL Azure Хранилище данных SQL Azure Parallel Data Warehouse

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

nchar ([n])
Строковые данные постоянной длины в Юникоде. n определяет длину строки и должен иметь значение от 1 до 4000. Размер хранения — два раза n байт. Если кодовая страница параметров сортировки использует двухбайтовые символы, размер хранилища по-прежнему n байт. В зависимости от строки, размер хранилища n байтов может быть меньше, чем значение, указанное для n. Синонимами по стандарту ISO для nchar , national char и символов национального алфавита.

nvarchar [(n | max ) ]
Строковые данные переменной длины в Юникоде. n определяет длину строки и может принимать значение от 1 до 4000. Max указывает, что максимальный размер хранилища равен 2 ^ 31-1 байт (2 ГБ). Размер хранилища в байтах вдвое больше числа введенных символов + 2 байта. Синонимами по стандарту ISO для nvarchar , national char переменной и различных символов национального алфавита.

Когда n не указан в определении данных или в инструкции объявления переменной, длина по умолчанию равна 1. Когда n не указан в функции CAST, длина по умолчанию равна 30.

Используйте nchar Если размеры элементов данных в столбцах предполагаются схожи.

Используйте nvarchar Если размеры элементов данных в столбцах предполагаются различные.

sysname — предоставляемый системой определяемый пользователем тип, который функционально эквивалентен nvarchar(128), за исключением того, что не допускает значение NULL. sysname используется для ссылок на имена объектов базы данных.

Объекты, использующие nchar или nvarchar назначаются параметры сортировки по умолчанию базы данных, если назначенный конкретные параметры сортировки предложением COLLATE.

SET ANSI_PADDING всегда равен ON для nchar и nvarchar. SET ANSI_PADDING OFF не применяется к nchar или nvarchar типов данных.

Префикс строковым константам в Юникоде буква N. Без префикса N строка преобразуется в кодовую страницу по умолчанию базы данных. Кодовая страница по умолчанию может не распознавать определенные символы.

Читайте также:  Tp link 940n отзывы
Примечание

После добавления префикса строковой константы с букв N, если константа для преобразования не превышает Максимальная длина для типа данных строки Юникода (4000) неявное преобразование приведет к строки в Юникоде. В противном случае — неявное преобразование приведет к Юникода большого размера (max).

Каждый непустой varchar(max) или nvarchar(max) столбца требуется 24 байта дополнительных основных выделения которого вычитается ограничение в 8 060 байт строк во время операции сортировки. Это может создать неявных ограничений на число непустых varchar(max) или nvarchar(max) столбцы, которые могут быть созданы в таблице. При создании таблицы или во время вставки данных не возникает особых ошибок (кроме обычного предупреждения о том, что максимальный размер строки превышает максимально допустимое значение в 8060 байт). Этот крупный размер строки может вызывать ошибки (например, ошибку 512) во время некоторых обычных операций, таких как обновление ключа кластеризованного индекса, или сортировать полный набор столбцов, который пользователи не могут использовать до выполнения операции.

Сведения о преобразовании символьных данных см. в разделе char и varchar (Transact-SQL).

ПРИМЕНЯЕТСЯ К: SQL Server (начиная с 2008) База данных SQL Azure Хранилище данных SQL Azure Parallel Data Warehouse

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

nchar ([n])
Строковые данные постоянной длины в Юникоде. n определяет длину строки и должен иметь значение от 1 до 4000. Размер хранения — два раза n байт. Если кодовая страница параметров сортировки использует двухбайтовые символы, размер хранилища по-прежнему n байт. В зависимости от строки, размер хранилища n байтов может быть меньше, чем значение, указанное для n. Синонимами по стандарту ISO для nchar , national char и символов национального алфавита.

nvarchar [(n | max ) ]
Строковые данные переменной длины в Юникоде. n определяет длину строки и может принимать значение от 1 до 4000. Max указывает, что максимальный размер хранилища равен 2 ^ 31-1 байт (2 ГБ). Размер хранилища в байтах вдвое больше числа введенных символов + 2 байта. Синонимами по стандарту ISO для nvarchar , national char переменной и различных символов национального алфавита.

Когда n не указан в определении данных или в инструкции объявления переменной, длина по умолчанию равна 1. Когда n не указан в функции CAST, длина по умолчанию равна 30.

Используйте nchar Если размеры элементов данных в столбцах предполагаются схожи.

Используйте nvarchar Если размеры элементов данных в столбцах предполагаются различные.

sysname — предоставляемый системой определяемый пользователем тип, который функционально эквивалентен nvarchar(128), за исключением того, что не допускает значение NULL. sysname используется для ссылок на имена объектов базы данных.

Объекты, использующие nchar или nvarchar назначаются параметры сортировки по умолчанию базы данных, если назначенный конкретные параметры сортировки предложением COLLATE.

SET ANSI_PADDING всегда равен ON для nchar и nvarchar. SET ANSI_PADDING OFF не применяется к nchar или nvarchar типов данных.

Префикс строковым константам в Юникоде буква N. Без префикса N строка преобразуется в кодовую страницу по умолчанию базы данных. Кодовая страница по умолчанию может не распознавать определенные символы.

Предупреждение

После добавления префикса строковой константы с букв N, если константа для преобразования не превышает Максимальная длина для типа данных строки Юникода (4000) неявное преобразование приведет к строки в Юникоде. В противном случае — неявное преобразование приведет к Юникода большого размера (max).

Примечание

Каждый непустой varchar(max) или nvarchar(max) столбца требуется 24 байта дополнительных основных выделения которого вычитается ограничение в 8 060 байт строк во время операции сортировки. Это может создать неявных ограничений на число непустых varchar(max) или nvarchar(max) столбцы, которые могут быть созданы в таблице. При создании таблицы или во время вставки данных не возникает особых ошибок (кроме обычного предупреждения о том, что максимальный размер строки превышает максимально допустимое значение в 8060 байт). Этот крупный размер строки может вызывать ошибки (например, ошибку 512) во время некоторых обычных операций, таких как обновление ключа кластеризованного индекса, или сортировать полный набор столбцов, который пользователи не могут использовать до выполнения операции.

Сведения о преобразовании символьных данных см. в разделе char и varchar (Transact-SQL).

Предупреждение
Ссылка на основную публикацию
Adblock detector