Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_SQL.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
432.13 Кб
Скачать

2.5. Типы данных

Одним из свойств столбца является его тип данных. Поскольку каждый столбец представляет один признак объекта, данные в каждом столбце подобны, то есть тип данных значений, хранящихся в одном и том же столбце, одинаков. SQL Server имеет набор встроенных типов данных, называемых системными. Этот набор приведен в табл. 1.

Таблица 1.

Типы данных, используемые в SQL Server 2000

Тип данных

Описание

1

2

bit

Один бит. В столбце с этим типом может храниться либо 0, либо 1

binary(n)

Двоичные данные фиксированной длины до 8000 байт

varbinary(n)

Двоичные данные переменной длины до 8000 байт

Image

Двоичные данные длиной до 2 Гбайт. Пространство для хранения данных этого типа отводится страницами, размер которых составляет 8 Кбайт

decimal

Используется для хранения дробных чисел с фиксированным количеством знаков до и после десятичной точки

numeric

Является аналогом типа данных decimal

float(n)

Используется для хранения дробных чисел с приблизительной точностью

real

Является аналогом float (24)

int

Занимает 4 байта и может хранить целые числа в диапазоне от -231 до 231-1

smallint

Небольшое целое. Занимает 2 байта и может хранить целые числа в диапазоне от -215 до 215-1 (от -32 768 до 32 767)

tinyint

Маленькое целое. Занимает 1 байт и может хранить целые числа в диапазоне от 0 до 255

bigint

Большое целое. Занимаете байт и может хранить целые числа в диапазоне от -263 до 263-1

char(n)

Строковый тип данных фиксированной длины без поддержки Unicode длиной до 8000 символов

nchar(n)

Строковый тип данных фиксированной длины с поддержкой Unicode длиной до 4000 символов

Окончание таблицы 1

1

2

varchar(n)

Строковый тип данных переменной длины без поддержки Unicode длиной до 8000 символов

nvarchar(n)

Строковый тип данных переменной длины с поддержкой Unicode длиной до 4000 символов

text

Строковый тип данных без поддержки Unicode длиной до 2 миллиардов символов. Пространство для хранения данных этого типа отводится страницам, размер которых составляет 8 Кбайт

ntext

Строковый тип данных с поддержкой Unicode длиной до 1 миллиарда символов. Пространство для хранения данных этого типа отводится страницам, размер которых составляет 8 Кбайт

datetime

Тип данных для хранения даты и времени с высокой точностью в диапазоне от 1 января 1753 года и до 31 декабря 9999 года, занимающий 8 байт

small datetime

Тип данных для хранения даты и времени с нормальной точностью в диапазоне с 1 января 1900 года и до 6 июня 2079 года, занимающий 4 байт

money

Используется для хранения денежных данных в большом диапазоне. Обеспечивает точность до 4 знаков после десятичной точки и занимает 8 байт

smallmoney

Используется для хранения денежных данных в нормальном диапазоне. Обеспечивает точность до 4 знаков после десятичной точки и занимает 4 байта

sql_variant

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

sysname

Этот тип данных, по сути, является не встроенным, а пользовательским (user-defined data type), создаваемым в системных базах данных автоматически при установке SQL Server 2000. Используется для указания имен объектов.

timestamp

Временной штамп. Значения в столбце этого типа изменяются SQL Sewer 2000 автоматически при каждом изменении строки. Для типа данных timestamp также можно использовать псевдоним rowversion

table

Этот тип данных предназначен для временного хранения сложных наборов данных. Поддерживается создание переменных типа table. Кроме того, функции пользователя могут возвращать значения типа table, что предоставляет широкие возможности для разработчиков. Однако тип данных table не может использоваться для столбцов таблицы. Он подходит только для переменных Transact-SQL, параметров хранимых процедур и для значений, возвращаемых функциями пользователя

uniqueidentifier

Используется для хранения глобальных уникальных идентификаторов (Global Unique Identifier, GUID)

cursor

Предназначен для хранения ссылок на курсоры.

Итак, каждый столбец таблицы должен содержать данные, соответствующие типу данных столбца. Например, допускается неявное преобразование типа данных int в тип данных decimal или значений типа данных varchar в значения типа данных char. При необходимости можно использовать функции преобразования типов данных.

Значение NULL

NULL – это специальное значение, представляющее собой отсутствие любого значения. NULL – это не то же самое, что знак пробела или ноль. Пробел – это допустимый символ, а 0 – допустимое число. NULL также отличается от строки нулевой длины (пустой строки).

Столбцы могут разрешать или запрещать хранение значений NULL. Если столбец запрещает хранение значений NULL, то в таблицу нельзя вставлять строки, имеющие значение NULL для этого столбца.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]