Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
доп.docx
Скачиваний:
37
Добавлен:
26.03.2016
Размер:
115.88 Кб
Скачать

2.3 Типы данных ms sql Server.

Для каждого столбца необходимо определить в обязательном порядке кроме уникального в пределах таблицы имени столбца также тип данных. Присвоение типа данных каждому столбцу является одним из первых шагов, предпринимаемых при проектировании таблицы. Типы данных определяют допустимые значения данных для каждого столбца.

2.3.1 Типы char и varchar.

Являются символьными типами данных фиксированной или переменной длины.

char [ ( n ) ] - символьные данные фиксированной длины, не в Юникоде, с длиной n байт. Значение n должно находиться в интервале от 1 до 8000. Размер хранения данных этого типа равен n байт. Синонимом по стандарту ISO для типа char является character.

varchar [ ( n | max ) ] - символьные данные переменной длины, не в Юникоде; n может иметь значение от 1 до 8 000; max означает, что максимальный размер хранения равен 2^31-1 байт. Размер хранения равен фактической длине данных плюс два байта. Введенные данные могут иметь длину 0 символов. Синонимами по стандарту ISO для типа varchar являются типы char varying или character varying.

Данные char или varchar могут быть отдельным знаком или строкой максимальной длиной в 8000 символов для данных char и до 2^31 символов для данных varchar.

Типы данных varchar могут принимать две формы. Данные varchar могут быть указанной максимальной длины в знаках, например varchar(6) свидетельствует о том, что в этом типе данных может храниться максимум шесть символов или он может иметь вид varchar(max), увеличивающий максимальное число символов, которые могут храниться в этом типе данных, до 2^31.

Символьные константы должны быть заключены в одинарные (') или двойные кавычки ("). Рекомендуется заключение символьных констант в одинарные кавычки. Заключение символьных констант в двойные кавычки иногда не допускается, если параметру QUOTED IDENTIFIER присвоено значение ON.

Данный пример кода Transact-SQL присваивает символьной переменной значение:

DECLARE @MyCharVar CHAR(25)

SET @MyCharVar = 'Ricardo Adocicados'

Если для выделения символьной константы, содержащей вложенную одинарную кавычку, применяются одинарные кавычки, используйте две одинарные кавычки для представления вложенной одинарной кавычки.

Например:

SET @MyCharVar = 'O''Leary'

Если данные, подлежащие хранению, длиннее, чем допустимое число символов, они усекаются. Например, если столбец определен как char(10) и в нем сохраняется значение "Это действительно очень длинная символьная строка", то SQL Server усекает символьную строку до "Это действ".

Тип данных char становится типом данных с фиксированной длиной, если указано предложение NOT NULL. Если в столбец char с предложением NOT NULL вставляется значение короче, чем длина столбца, это значение заполняется вправо при помощи пробелов до размера столбца. Например, если столбец определен как char(10) и в нем должно быть сохранено значение "музыка", SQL Server сохраняет данные в виде "музыка____", где "_" обозначает пробел.

2.3.2 Типы данных nchar и nvarchar.

Это - символьные типы данных, имеющие постоянную длину (nchar), или переменную длину (nvarchar), содержащие данные в Юникоде и использующие набор символов UCS-2.

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

nvarchar [ ( n | max ) ] - символьные данные в Юникоде переменной длины. Аргумент n может принимать значение от 1 до 4 000. Аргумент max указывает, что максимальный размер хранилища равен 2^31-1 (2 147 483 647) байт. Размер хранилища в байтах вдвое больше числа введенных символов + 2 байта. Введенные данные могут иметь длину в 0 символов. Синонимами по стандарту ISO для типа nvarchar являются типы national char varying и national character varying.