При выборе типа данных для столбца следует отдавать предпочтение типу, который позволит хранить любые возможные для этого столбца значения и занимать при этом минимальное место на диске. Типы данных в MS SQL Server можно разделить на восемь категорий:
1. Целочисленные данные
· bit (1 байт). Может хранить только значения 0, 1 или null (пустое значение, сообщающее об отсутствии данных). Его удобно использовать в качестве индикатора состояния – включено/выключено, да/нет, истина/ложь.
· tinyint (1 байт).Целые значения от 0 до 255.
· smallint (2 байта). Диапазон значений от -215 (-32768) до 215 (3767).
· int (4 байта). Может содержать целочисленные данные от -231 (-2147483648) до 231 (21474833647).
· bigint (8 байт). Включает в себя данные от -263 (9223372036854775808) до 263 (9223372036854775807). Удобен для хранения очень больших чисел, не помещающихся в типе данных int.
2. Текстовые данные
· char. Содержит символьные не Unicode-данные фиксированной длины до 8000 знаков.
· varchar. Содержит символьные не Unicode-данные переменной длины до 8000 знаков.
· nchar. Содержит данные Unicode фиксированной длины до 4000 символов. Подобно всем типам данных Unicode его удобно использовать для хранения небольших фрагментов текста, которые будут считываться разноязычными клиентами.
|
|
· nvarchar. Содержит данные Unicode переменной длины до 4000 символов.
3. Десятичные данные
· decimal. Содержит числа с фиксированной точностью от -1038-1 до 1038-1. Он использует два параметра: точность и степень. Точностью называется общее количество знаков, хранящееся в поле, а степень – это количество знаков справа от десятичной запятой.
· numeric. Это синоним типа данных decimal – они идентичны.
4. Денежные типы данных
· money (8 байт). Содержит денежные значения от -263 до 263 с десятичной точностью от денежной единицы. Удобен для хранения денежных сумм, превышающих 214768,3647.
· smallmoney (4 байта). Содержит значения от -214748,3648 до 214748,3647 с десятичной точностью.
5. Данные с плавающей точкой
· float. Содержит числа с плавающей запятой от -1,79Е+38 до 1,79Е+38.
· real. Содержит числа с плавающей запятой от -3,40Е+38 до 3,40Е+38.
6. Типы данных даты и времени
· datetime (8 байт). Содержит дату и время в диапазоне от 1 января 1753 года до 31 декабря 9999 года с точностью 3,33 мс.
· smalldatetime (4 байта). Содержит дату и время, начиная от 1 января 1900 года и заканчивая 6 июнем 2079, с точностью до 1 минуты.
7. Двоичные типы данных
· binary. Содержит двоичные данные фиксированной длины до 8000 байт.
· varbinary. Содержит двоичные данные переменной длины до 8000 байт.
8. Специализированные типы данных
· sql_variant. Используется для хранения значения с различными типами данных.
· timestamp. Используется для установки временных меток записей при вставке, которые соответствующим образом обновляются. Удобен для отслеживания изменений в данных.
· uniqueidentifier. Глобальный уникальный идентификатор.
· xml. Используется для хранения целых документов или фрагментов XML.