Типы данных языка SQL, определенные стандартом. Тип данных int sql


SQL - Типы данных

Тип данных определяет, какое значение может содержать столбец: целочисленные данные, символьные данные, денежные данные, данные даты и времени, двоичные строки и т. д.

Типы данных SQL

Каждый столбец в таблице базы данных должен иметь имя и тип данных.

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

Список типов данных MySQL

В MySQL существует три основных типа данных: текст, число и дата.

Типы текстовых данных

Тип Описание
CHAR(size) Удерживает строку фиксированной длины (может содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Может хранить до 255 символов
VARCHAR(size) Удерживает строку переменной длины (может содержать буквы, цифры и специальные символы). Максимальный размер указан в скобках. Может хранить до 255 символов. Если вы ставите большее значение, чем 255, оно будет преобразовано в тип TEXT
TINYTEXT Удерживает строку длиной не более 255 символов
TEXT Удерживает строку с максимальной длиной 65535 символов
BLOB Для BLOB (Binary Large OBjects). Сохраняет до 65535 байт данных
MEDIUMTEXT Удерживает строку с максимальной длиной 16,777,215 символов
MEDIUMBLOB Для BLOB (Binary Large OBjects). Удерживает до 16 777 215 байт данных
LONGTEXT Удерживает строку с максимальной длиной 4 294 967 295 символов
LONGBLOB Для BLOB (Binary Large OBjects). Сохраняет до 4 294 967 295 байтов данных
ENUM(a,b,c,etc.)

Позвольте ввести список возможных значений. Вы можете перечислить до 65535 значений в списке ENUM. Если вставлено значение, которое отсутствует в списке, будет добавлено пустое значение.Примечание. Значения сортируются в том порядке, в котором вы их вводите.

Вы вводите возможные значения в этом формате: ENUM ('a', 'b', 'c')

SET Подобно ENUM, за исключением того, что SET может содержать до 64 элементов списка и может хранить несколько вариантов

Типы числовых данных

Тип Описание
TINYINT(size) От -128 до 127. От 0 до 255 UNSIGNED *. Максимальное количество цифр может быть указано в круглых скобках
SMALLINT(size) -32768 до 32767 нормально. 0 до 65535 UNSIGNED*. Максимальное количество цифр может быть указано в скобках
MEDIUMINT(size) -8388608 до 8388607 normal. 0 до 16777215 UNSIGNED*. Максимальное количество цифр может быть указано в скобках
INT(size) -2147483648 до 2147483647 normal. 0 до 4294967295 UNSIGNED*. Максимальное количество цифр может быть указано в скобках
BIGINT(size) -9223372036854775808 до 9223372036854775807 normal. 0 до 18446744073709551615 UNSIGNED *. Максимальное количество цифр может быть указано в скобках
FLOAT(size,d) Небольшое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d
DOUBLE(size,d) Большое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d
DECIMAL(size,d) DOUBLE хранится как строка, позволяющая фиксированную десятичную точку. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d

 

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

Тип даты

Тип Описание
DATE()
Формат даты: YYYY-MM-DD
DATETIME() Формат даты и времени:  YYYY-MM-DD HH:MI:SS
TIMESTAMP() Количество секунд с момента Unix ('1970-01-01 00:00:00' UTC). Формат даты: YYYY-MM-DD HH:MI:SS
TIME() Формат времени: HH:MI:SS
YEAR() Год

unetway.com

Типы данных SQL

1. Простые типы данных

1.1. Символьные типы

1) Строки постоянной длиныCHAR[ACTER]() – строка текста в формате, определенном разработчиком. Натуральное число задает строки.На практике максимальное число символов бывает в диапазоне от 256 в MS SQL Server до 32767 в InterBase.CHAR трактуется как CHAR(1)

2) Строки переменной длиныVARCHAR|CHAR[ACTER] VARYING [()] – строка текста переменной длины в формате, определенном разработчиком. Натуральное число задает максимальную строки, но в таблице отводится место только под реальную длину строки.

3) Особенности символьных типов ряда СУБДВ ряде СУБД, например, MS SQL Server, если CHAR допускает значение NULL, то от трактуется как VARCHAR.В Oracle для полей типа VARCHAR2 можно зарезервировать в каждом блоке место для будущих обновлений поля, определив опцию PCTFREE.

1.2. Числовые типы

1) Целые типы данныхINT[EGER] – число без десятичной точки. Размер зависит от конкретного варианта реализации. Часто это 4 байта.SMALLINT – совпадает с INT, но обычно меньше по размеру. Часто 2 байта.BIGINT – совпадает с INT, но обычно больше по размеру. Это 4 или более байта.

2) Вещественные числа с фиксированной точкойDEC[IMAL]|[NUMERIC[([,])] – десятичное число с фиксированной точкой.Число имеет:— общее число значащих десятичных разрядов,— максимальное количество разрядов справа от десятичной точки.

3) Вещественные числа с плавающей точкойFLOAT – число с плавающей точкой, представленное в экспоненциальной форме по основанию 10. Задается максимальная точность.REAL – совпадает с FLOAT, но точность зависит от варианта реализации.DOUBE[PRECISION] – совпадает с REAL, но точность может быть больше в конкретной реализации.

1.3. Даты и типы времени

DATE – дата в формате yyyy-mm-dd (ISO), mm/dd/yyyy (ANSI).TIME – время в формате hh.mm.ss (ISO), hh:mm am/pm (ANSI).INTERVAL – дата и время в формате yyyy-mm-dd-hh.mm.ss.nnnnn (ISO). (часто TIMESTAMP).

Примечание:Типы даты и времени могут задаваться в виде строковых литералов.Дата: ‘yyyy-mm-dd’, время: ‘hh.mm.ss’,Интервал: ‘yyyy-mm-dd-hh.mm.ss.n…n’.

1.4. Логический тип

BOOLEAN – логическое значение (TRUE, FALSE, UNKNOWN).Для правильного понимания таблицы истинности в трехзначной логике (3VL) можно условно считать, что FALSE — 0, TRUE -1, а UNKNOWN – 0.5.Тогда:— Оператор AND возвращает наименьшее.— Оператор OR – наибольшее из исходных значений.— NOT UNKNOWN = UNKNOWN.

2. Коллекции

Коллекции фактически нарушают первую нормальную форму (1NF).

2.1. Массив

[()] ARRAY[] – набор однотипных значений.

Примечание:Массивы были введены в SQL:99.Пример:Так, определение WeekDays Varchar(10) ARRAY[7] позволяет хранить название всех семи дней недели в одном поле.Ряд СУБД допускают даже многомерные массивы. Так в InterBase возможно до 16 изменений, Clarion – 4.

2.2. Мультимножество

[()] MULTISET – неограниченный набор однотипных значений, допускающий дубликаты.Значения создаются конструктором – специальными функциями.

Примечание:Мультимножества были введены в SQL:2003.

2.3. Анонимный строковый тип

ROW ( [()] [], …) – набор разнотипных значений, включая вложенные.Опции могут задавать порядок сортировки полей строкового типа и ряд других установок.

Пример:Так, определив Address ROW(State Char(6), City Varchar(30), Street Varchar(50)) позволяет хранить подробный адрес в одном поле.

3. Типы LOB

CLOB (Character Large Object) – ведут себя во многом подобно символьным строкам, но их запрещено использовать:— В ограничениях Primary Key, Unique, Foreign Key.— В сравнениях, отличных от чистых равенств или неравенств, в разделах Order By и Group By.BLOB (Binary Large Object) – поток байт в формате, в котором пользователь сможет их записать в колонку БД.

3.1. Проблемы использования LOB

1) Проблемы храненияХранение LOB прямо в таблицах вместе с другими данными нарушает работу оптимизатора, основанную на использовании страниц данных, размер которых соответствует размеру дисковых страниц.Поэтому LOB хранятся в отдельных областях (сегментах) дисковой памяти.

2) Проблемы обновленияПоскольку размер LOB объектов может достигать десятков и сотен мегабайт, то их невозможно хранить в буферах целиком. Поэтому данные типа LOB обрабатываются по частям, например, группами страниц. В операторах INSERT и UPDATE для обработки по частям используются специальные технологии, позволяющие многократно вызывать одну и ту же API-функцию для одного поля. Аналогично и при считывании данных операторами SELECT и FETCH.

3) Проблемы выполнения транзакцийДля поддержки транзакций большинство СУБД ведет журнал транзакций, в котором записываются копии данных до и после модификаций.Однако из-за больших размеров LOB не записываются в журнал.

4) Проблемы пересылки по сетиЧасто клиент и сервер работают на разных компьютерах, и пересылка LOB по сети может прервать работу всех, кто пользуется сетью в данных момент.

4. Разные типы

4.1. Locator

Уникальное двоичное (четырехбитное) значение (в ООП – дескриптор), сохраняемое в БД.Описывается в главной программе и действует до конца транзакции.Предназначен для манипуляции LOB-значениями (или массивами) на стороне клиента. Вместо LOB клиенту посылается ссылка на него.Можно объявить: LOC: Integer AS LOCATOR.

4.2. XML

Значениями, по существу, являются XML-документы.Для этого типа определяется ряд операций, обеспечивающих доступ к элементам значения типа XML, преобразования подобных данных и т.п.

4.3. Datalink

Datalinks являются частью SQL/MED 9075-9:2003.Datalink представляет собой особый тип SQL предназначен для хранения URL-адресов в БД, а также ряд функций, которые могут быть использованы в SQL запросах.С особенностями и поддерживаемыми функциями можно ознакомится на сайте:Wiki.postgresql.org/wiki/DATALINK

Используются в DB2, Oracle – для хранения данных во внешнем файле BFile.

all4study.ru

Типы данных языка SQL, определенные стандартом — МегаЛекции

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

В языке SQL имеется шесть скалярных типов данных, определенных стандартом. Их краткое описание представлено в таблице.

Таблица 2.1.
Тип данных Объявления
Символьный CHAR | VARCHAR
Битовый BIT | BIT VARYING
Точные числа NUMERIC | DECIMAL | INTEGER | SMALLINT
Округленные числа FLOAT | REAL | DOUBLE PRECISION
Дата/время DATE | TIME | TIMESTAMP
Интервал INTERVAL

Символьные данные

Символьные данные состоят из последовательности символов, входящих в определенный создателями СУБД набор символов. Поскольку наборы символов являются специфическими для различных диалектов языка SQL, перечень символов, которые могут входить в состав значений данных символьного типа, также зависит от конкретной реализации. Чаще всего используются наборы символов ASCII и EBCDIC. Для определения данных символьного типа используется следующий формат:

::={ CHARACTER [ VARYING][длина] | [CHAR | VARCHAR][длина]}

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

Битовые данные

Битовый тип данных используется для определения битовых строк, т.е. последовательности двоичных цифр (битов), каждая из которых может иметь значение либо 0, либо 1. Данные битового типа определяются при помощи следующего формата:

::=BIT [VARYING][длина]

Точные числа

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

::={NUMERIC[точность[,масштаб]|{DECIMAL|DEC} [точность[, масштаб]| {INTEGER |INT}| SMALLINT}

Типы NUMERIC и DECIMAL предназначены для хранения чисел в десятичном формате. По умолчанию длина дробной части равна нулю, а принимаемая по умолчанию точность зависит от реализации. Тип INTEGER (INT) используется для хранения больших положительных или отрицательных целых чисел. Тип SMALLINT – для хранения небольших положительных или отрицательных целых чисел; в этом случае расход внешней памяти существенно сокращается.

Округленные числа

Тип округленных чисел применяется для описания данных, которые нельзя точно представить в компьютере, в частности действительных чисел. Округленные числа или числа с плавающей точкой представляются в научной нотации, при которой число записывается с помощью мантиссы, умноженной на определенную степень десяти (порядок), например: 10Е3, +5.2Е6, -0.2Е-4. Для определения данных вещественного типа используется формат:

::={ FLOAT [точность]| REAL | DOUBLE PRECISION}

Параметр точность задает количество значащих цифр мантиссы. Точность типов REAL и DOUBLE PRECISION зависит от конкретной реализации.

Дата и время

Тип данных "дата/время" используется для определения моментов времени с некоторой установленной точностью. Стандарт SQL поддерживает следующий формат:

::={DATE | TIME[точность][WITH TIME ZONE]| TIMESTAMP[точность][WITH TIME ZONE]}

Тип данных DATE используется для хранения календарных дат, включающих поля YEAR (год), MONTH (месяц) и DAY (день). Тип данных TIME – для хранения отметок времени, включающих поля HOUR (часы), MINUTE (минуты) и SECOND (секунды). Тип данных TIMESTAMP – для совместного хранения даты и времени. Параметр точность задает количество дробных десятичных знаков, определяющих точность сохранения значения в поле SECOND. Если этот параметр опускается, по умолчанию его значение для столбцов типа TIME принимается равным нулю (т.е. сохраняются целые секунды), тогда как для полей типа TIMESTAMP он принимается равным 6 (т.е. отметки времени сохраняются с точностью до миллисекунд). Наличие ключевого слова WITH TIME ZONE определяет использование полей TIMEZONE HOUR и TIMEZONE MINUTE, тем самым задаются час и минуты сдвига зонального времени по отношению к универсальному координатному времени (Гринвичскому времени).

Данные типа INTERVAL используются для представления периодов времени.

Понятие домена

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

Стандарт SQL позволяет определить домен с помощью следующего оператора:

::= CREATE DOMAIN имя_домена [AS] тип_данных [ DEFAULT значение] [ CHECK (допустимые_значения)]

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

Удаление доменов из базы данных выполняется с помощью оператора:

DROP DOMAIN имя_домена [ RESTRICT | CASCADE]

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

Альтернативой доменам в среде SQL Server являются пользовательские типы данных.

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

Системные типы данных

Один из основных моментов процесса создания таблицы – определение типов данных для ее полей. Тип данных поля таблицы определяет тип информации, которая будет размещаться в этом поле. Понятие типа данных в SQL Server полностью адекватно понятию типа данных в современных языках программирования. SQL-сервер поддерживает большое число различных типов данных: текстовые, числовые, двоичные (см. таблицу 2.2).

Таблица 2.2.
image smalldatetime bit binary
text real decimal char
uniqueidentifier money numeric timestamp
tinyint datetime smallmoney nvarchar
smallint float varbinary nchar
int ntext varchar sysname

Приведем краткий обзор типов данных SQL Server.

Для хранения символьной информации используются символьные типы данных, к которым относятся CHAR (длина), VARCHAR (длина), NCHAR (длина), NVARCHAR (длина). Последние два предназначены для хранения символов Unicode. Максимальное значение длины ограничено 8000 знаками (4000 – для символов Unicode).

Хранение символьных данных большого объема (до 2 Гб) осуществляется при помощи текстовых типов данных TEXT и NTEXT.

К целочисленным типам данных относятся INT (INTEGER), SMALLINT, TINYINT, BIGINT. Для хранения данных целочисленного типа используется, соответственно, 4 байта (диапазон от -231 до 231-1), 2 байта (диапазон от -215 до 215-1), 1 байт (диапазон от 0 до 255) или 8 байт (диапазон от -263 до 263-1). Объекты и выражения целочисленного типа могут применяться в любых математических операциях.

Числа, в составе которых есть десятичная точка, называются нецелочисленными. Нецелочисленные данные разделяются на два типа – десятичные и приблизительные.

К десятичным типам данных относятся типы DECIMAL [(точность[,масштаб])] или DEC и NUMERIC [(точность[,масштаб])]. Типы данных DECIMAL и NUMERIC позволяют самостоятельно определить формат точности числа с плавающей запятой. Параметр точность указывает максимальное количество цифр вводимых данных этого типа (до и после десятичной точки в сумме), а параметр масштаб – максимальное количество цифр, расположенных после десятичной точки. В обычном режиме сервер позволяет вводить не более 28 цифр, используемых в типах DECIMAL и NUMERIC (от 2 до 17 байт).

К приблизительным типам данных относятся FLOAT (точность до 15 цифр, 8 байт) и REAL (точность до 7 цифр, 4 байта). Эти типы представляют данные в формате с плавающей запятой, т.е. для представления чисел используется мантисса и порядок, что обеспечивает одинаковую точность вычислений независимо от того, насколько мало или велико значение.

Для хранения информации о дате и времени предназначены такие типы данных, как DATETIME и SMALLDATETIME, использующие для представления даты и времени 8 и 4 байта соответственно.

Типы данных MONEY и SMALLMONEY делают возможным хранение информации денежного типа; они обеспечивают точность значений до 4 знаков после запятой и используют 8 и 4 байта соответственно.

Тип данных BIT позволяет хранить один бит, который принимает значения 0 или 1.

В среде SQL Server реализован ряд специальных типов данных.

Тип данных TIMESTAMP применяется в качестве индикатора изменения версии строки в пределах базы данных.

Тип данных UNIQUEIDENTIFIER используется для хранения глобальных уникальных идентификационных номеров.

Тип данных SYSNAME предназначен для идентификаторов объектов.

Тип данных SQL_VARIANT позволяет хранить значения любого из поддерживаемых SQL Server типов данных за исключением TEXT, NTEXT, IMAGE и TIMESTAMP.

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

Тип данных CURSOR нужен для работы с такими объектами, как курсоры, и может быть востребован только для переменных и параметров хранимых процедур. Курсоры SQL Server представляют собой механизм обмена данными между сервером и клиентом. Курсор позволяет клиентским приложениям работать не с полным набором данных, а лишь с одной или несколькими строками. Примеры использования данных типа CURSOR мы рассмотрим в лекциях, посвященных курсорам и хранимым процедурам.

Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:

megalektsii.ru

MS SQL Server и T-SQL

Типы данных T-SQL

Последнее обновление: 12.07.2017

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

Язык T-SQL предоставляет множество различных типов. В зависимости от характера значений все их можно разделить на группы.

Числовые типы данных
  • BIT: хранит значение 0 или 1. Фактически является аналогом булевого типа в языках программирования. Занимает 1 байт.

  • TINYINT: хранит числа от 0 до 255. Занимает 1 байт. Хорошо подходит для хранения небольших чисел.

  • SMALLINT: хранит числа от –32 768 до 32 767. Занимает 2 байта

  • INT: хранит числа от –2 147 483 648 до 2 147 483 647. Занимает 4 байта. Наиболее используемый тип для хранения чисел.

  • BIGINT: хранит очень большие числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, которые занимают в памяти 8 байт.

  • DECIMAL: хранит числа c фиксированной точностью. Занимает от 5 до 17 байт в зависимости от количества чисел после запятой.

    Данный тип может принимать два параметра precision и scale: DECIMAL(precision, scale).

    Параметр precision представляет максимальное количество цифр, которые может хранить число. Это значение должно находиться в диапазоне от 1 до 38. По умолчанию оно равно 18.

    Параметр scale представляет максимальное количество цифр, которые может содержать число после запятой. Это значение должно находиться в диапазоне от 0 до значения параметра precision. По умолчанию оно равно 0.

  • NUMERIC: данный тип аналогичен типу DECIMAL.

  • SMALLMONEY: хранит дробные значения от -214 748.3648 до 214 748.3647. Предназначено для хранения денежных величин. Занимает 4 байта. Эквивалентен типу DECIMAL(10,4).

  • MONEY: хранит дробные значения от -922 337 203 685 477.5808 до 922 337 203 685 477.5807. Представляет денежные величины и занимает 8 байт. Эквивалентен типу DECIMAL(19,4).

  • FLOAT: хранит числа от –1.79E+308 до 1.79E+308. Занимает от 4 до 8 байт в зависимости от дробной части.

    Может иметь форму опредеения в виде FLOAT(n), где n представляет число бит, которые используются для хранения десятичной части числа (мантиссы). По умолчанию n = 53.

  • REAL: хранит числа от –340E+38 to 3.40E+38. Занимает 4 байта. Эквивалентен типу FLOAT(24).

Примеры числовых столбцов: Salary MONEY, TotalWeight DECIMAL(9,2), Age INT, Surplus FLOAT
Типы данных, представляющие дату и время
  • DATE: хранит даты от 0001-01-01 (1 января 0001 года) до 9999-12-31 (31 декабря 9999 года). Занимает 3 байта.

  • TIME: хранит время в диапазоне от 00:00:00.0000000 до 23:59:59.9999999. Занимает от 3 до 5 байт.

    Может иметь форму TIME(n), где n представляет количество цифр от 0 до 7 в дробной части секунд.

  • DATETIME: хранит даты и время от 01/01/1753 до 31/12/9999. Занимает 8 байт.

  • DATETIME2: хранит даты и время в диапазоне от 01/01/0001 00:00:00.0000000 до 31/12/9999 23:59:59.9999999. Занимает от 6 до 8 байт в зависимости от точности времени.

    Может иметь форму DATETIME2(n), где n представляет количество цифр от 0 до 7 в дробной части секунд.

  • SMALLDATETIME: хранит даты и время в диапазоне от 01/01/1900 до 06/06/2079, то есть ближайшие даты. Занимает от 4 байта.

  • DATETIMEOFFSET: хранит даты и время в диапазоне от 0001-01-01 до 9999-12-31. Сохраняет детальную информацию о времени с точностью до 100 наносекунд. Занимает 10 байт.

Распространенные форматы дат:

  • yyyy-mm-dd - 2017-07-12

  • dd/mm/yyyy - 12/07/2017

  • mm-dd-yy - 07-12-17

    В таком формате двузначные числа от 00 до 49 воспринимаются как даты в диапазоне 2000-2049. А числа от 50 до 90 как диапазон чисел 1950 - 1999.

  • Month dd, yyyy - July 12, 2017

Распространенные форматы времени:

Строковые типы данных
  • CHAR: хранит строку длиной от 1 до 8 000 символов. На каждый символ выделяет по 1 байту. Не подходит для многих языков, так как хранит символы не в кодировке Unicode.

    Количество символов, которое может хранить столбец, передается в скобках. Например, для столбца с типом CHAR(10) будет выделено 10 байт. И если мы сохраним в столбце строку менее 10 символов, то она будет дополнена пробелами.

  • VARCHAR: хранит строку. На каждый символ выделяется 1 байт. Можно указать конкретную длину для столбца - от 1 до 8 000 символов, например, VARCHAR(10). Если строка должна иметь больше 8000 символов, то задается размер MAX, а на хранение строки может выделяться до 2 Гб: VARCHAR(MAX).

    Не подходит для многих языков, так как хранит символы не в кодировке Unicode.

    В отличие от типа CHAR если в столбец с типом VARCHAR(10) будет сохранена строка в 5 символов, то в столце будет сохранено именно пять символов.

  • NCHAR: хранит строку в кодировке Unicode длиной от 1 до 4 000 символов. На каждый символ выделяется 2 байта. Например, NCHAR(15)

  • NVARCHAR: хранит строку в кодировке Unicode. На каждый символ выделяется 2 байта.Можно задать конкретный размер от 1 до 4 000 символов: . Если строка должна иметь больше 4000 символов, то задается размер MAX, а на хранение строки может выделяться до 2 Гб.

Еще два типа TEXT и NTEXT являются устаревшими и поэтому их не рекомендуется использовать. Вместо них применяются VARCHAR и NVARCHAR соответственно.

Примеры определения строковых столбцов:

Email VARCHAR(30), Comment NVARCHAR(MAX)
Бинарные типы данных
  • BINARY: хранит бинарные данные в виде последовательности от 1 до 8 000 байт.

  • VARBINARY: хранит бинарные данные в виде последовательности от 1 до 8 000 байт, либо до 2^31–1 байт при использовании значения MAX (VARBINARY(MAX)).

Еще один бинарный тип - тип IMAGE является устаревшим, и вместо него рекомендуется применять тип VARBINARY.

Остальные типы данных
  • UNIQUEIDENTIFIER: уникальный идентификатор GUID (по сути строка с уникальным значением), который занимает 16 байт.

  • TIMESTAMP: некоторое число, которое хранит номер версии строки в таблице. Занимает 8 байт.

  • CURSOR: представляет набор строк.

  • HIERARCHYID: представляет позицию в иерархии.

  • SQL_VARIANT: может хранить данные любого другого типа данных T-SQL.

  • XML: хранит документы XML или фрагменты документов XML. Занимает в памяти до 2 Гб.

  • TABLE: представляет определение таблицы.

  • GEOGRAPHY: хранит географические данные, такие как широта и долгота.

  • GEOMETRY: хранит координаты местонахождения на плоскости.

metanit.com

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

Поиск Лекций

ОПРЕДЕЛЕНИЕ СТРУКТУРЫ ДАННЫХ

Вопросы:

1. Типы данных языка SQL, определенные стандартом.. 1

2. Типы данных, используемые в SQL-сервере. 3

3. Выражения и переменные. 5

4. Управляющие конструкции SQL.. 6

5. Основные объекты структуры базы данных SQL-сервера. 7

Типы данных языка SQL, определенные стандартом

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

В языке SQL имеется шесть скалярных типов данных, определенных стандартом. Их краткое описание представлено в таблице.

Символьные данные

Символьные данные состоят из последовательности символов, входящих в определенный создателями СУБД набор символов. Поскольку наборы символов являются специфическими для различных диалектов языка SQL, перечень символов, которые могут входить в состав значений данных символьного типа, также зависит от конкретной реализации. Чаще всего используются наборы символов ASCII и EBCDIC. Для определения данных символьного типа используется следующий формат:

<символьный_тип>::=

{ CHARACTER [ VARYING][длина] | [CHAR |

VARCHAR][длина]}

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

Битовые данные

Битовый тип данных используется для определения битовых строк, т.е. последовательности двоичных цифр (битов), каждая из которых может иметь значение либо 0, либо 1 . Данные битового типа определяются при помощи следующего формата:

<битовый_тип>::=

BIT [VARYING][длина]

Точные числа

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

<фиксированный_тип>::=

{NUMERIC[точность[,масштаб]]|{DECIMAL|DEC}

[точность[, масштаб]]

| {INTEGER |INT}| SMALLINT}

Типы NUMERIC и DECIMAL предназначены для хранения чисел в десятичном формате. По умолчанию длина дробной части равна нулю, а принимаемая по умолчанию точность зависит от реализации. Тип INTEGER ( INT ) используется для хранения больших положительных или отрицательных целых чисел. Тип SMALLINT – для хранения небольших положительных или отрицательных целых чисел; в этом случае расход внешней памяти существенно сокращается.

Округленные числа

Тип округленных чиселприменяется для описания данных, которые нельзя точно представить в компьютере, в частности действительных чисел. Округленные числа или числа с плавающей точкой представляются в научной нотации, при которой число записывается с помощью мантиссы, умноженной на определенную степень десяти (порядок), например: 10Е3, +5.2Е6, -0.2Е-4 . Для определения данныхвещественного типа используется формат:

<вещественный_тип>::=

{ FLOAT [точность]| REAL |

DOUBLE PRECISION}

Параметр точность задает количество значащих цифр мантиссы. Точность типов REAL и DOUBLE PRECISION зависит от конкретной реализации.

Дата и время

Тип данных "дата/время" используется для определения моментов времени с некоторой установленной точностью. Стандарт SQL поддерживает следующий формат:

<тип_даты/времени>::=

{DATE | TIME[точность][WITH TIME ZONE]|

TIMESTAMP[точность][WITH TIME ZONE]}

Тип данных DATE используется для хранения календарных дат, включающих поля YEAR (год), MONTH (месяц) и DAY (день). Тип данныхTIME – для хранения отметок времени, включающих поля HOUR (часы), MINUTE (минуты) и SECOND (секунды). Тип данных TIMESTAMP– для совместного хранения даты и времени. Параметр точность задает количество дробных десятичных знаков, определяющих точность сохранения значения в поле SECOND. Если этот параметр опускается, по умолчанию его значение для столбцов типа TIME принимается равным нулю (т.е. сохраняются целые секунды), тогда как для полей типа TIMESTAMP он принимается равным 6. Наличие ключевого слова WITH TIME ZONE определяет использование полей TIMEZONE HOUR и TIMEZONE MINUTE, тем самым задаются час и минуты сдвига зонального времени по отношению к универсальному координатному времени (Гринвичскому времени).

Данные типа INTERVAL используются для представления периодов времени.

Понятие домена

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

Стандарт SQL позволяет определить домен с помощью следующего оператора:

<определение_домена>::=

CREATE DOMAIN имя_домена [AS]

тип_данных

[ DEFAULT значение]

[ CHECK (допустимые_значения)]

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

Удаление доменов из базы данных выполняется с помощью оператора:

DROP DOMAIN имя_домена [ RESTRICT |

CASCADE]

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

Альтернативой доменам в среде SQL Server являются пользовательские типы данных.

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

Системные типы данных

Один из основных моментов процесса создания таблицы – определение типов данных для ее полей. Тип данных поля таблицы определяет тип информации, которая будет размещаться в этом поле. Понятие типа данных в SQL Server полностью адекватно понятию типа данных в современных языках программирования. SQL-сервер поддерживает большое число различных типов данных: текстовые, числовые, двоичные (см. таблицу ).

Приведем краткий обзор типов данных SQL Server.

Для хранения символьной информации используются символьные типы данных, к которым относятся CHAR (длина), VARCHAR (длина),NCHAR (длина), NVARCHAR (длина). Последние два предназначены для хранения символов Unicode. Максимальное значение длины ограничено 8000 знаками ( 4000 – для символов Unicode).

Хранение символьных данных большого объема (до 2 Гб) осуществляется при помощи текстовых типов данных TEXT и NTEXT.

К целочисленным типам данных относятся INT ( INTEGER ), SMALLINT, TINYINT, BIGINT. Для хранения данных целочисленного типаиспользуется, соответственно, 4 байта (диапазон от -231 до 231-1 ), 2 байта (диапазон от -215 до 215-1 ), 1 байт (диапазон от 0 до255 ) или 8 байт (диапазон от -263 до 263-1 ). Объекты и выражения целочисленного типа могут применяться в любых математических операциях.

Числа, в составе которых есть десятичная точка, называются нецелочисленными. Нецелочисленные данные разделяются на два типа – десятичные и приблизительные.

К десятичным типам данных относятся типы DECIMAL [(точность[,масштаб])] или DEC и NUMERIC [(точность[,масштаб])]. Типы данных DECIMAL и NUMERIC позволяют самостоятельно определить формат точности числа с плавающей запятой. Параметр точностьуказывает максимальное количество цифр вводимых данных этого типа (до и после десятичной точки в сумме), а параметр масштаб – максимальное количество цифр, расположенных после десятичной точки. В обычном режиме сервер позволяет вводить не более 28 цифр, используемых в типах DECIMAL и NUMERIC (от 2 до 17 байт).

К приблизительным типам данных относятся FLOAT (точность до 15 цифр, 8 байт) и REAL (точность до 7 цифр, 4 байта). Эти типы представляют данные в формате с плавающей запятой, т.е. для представления чисел используется мантисса и порядок, что обеспечивает одинаковую точность вычислений независимо от того, насколько мало или велико значение.

Для хранения информации о дате и времени предназначены такие типы данных, как DATETIME и SMALLDATETIME, использующие для представления даты и времени 8 и 4 байта соответственно.

Типы данных MONEY и SMALLMONEY делают возможным хранение информации денежного типа ; они обеспечивают точность значений до 4 знаков после запятой и используют 8 и 4 байта соответственно.

Тип данных BIT позволяет хранить один бит, который принимает значения 0 или 1.

В среде SQL Server реализован ряд специальных типов данных.

Тип данных TIMESTAMP применяется в качестве индикатора изменения версии строки в пределах базы данных.

Тип данных UNIQUEIDENTIFIER используется для хранения глобальных уникальных идентификационных номеров.

Тип данных SYSNAME предназначен для идентификаторов объектов.

Тип данных SQL_VARIANT позволяет хранить значения любого из поддерживаемых SQL Server типов данных за исключением TEXT, NTEXT, IMAGE и TIMESTAMP.

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

Тип данных CURSOR нужен для работы с такими объектами, как курсоры, и может быть востребован только для переменных и параметров хранимых процедур. Курсоры SQL Server представляют собой механизм обмена данными между сервером и клиентом. Курсор позволяет клиентским приложениям работать не с полным набором данных, а лишь с одной или несколькими строками.

poisk-ru.ru

Часть 6: Типы данных в SQL

Здравствуйте, уважаемые посетители сайта ZametkiNaPolyah.ru. Продолжаем изучать базы данных и наше знакомство с библиотекой SQLite3. В данной публикации мы рассмотрим типы данных в SQL. Хочу обратить ваше внимание на то, что различные СУБД поддерживает различный набор типов данных, поэтому это публикация включает в себя самые часто встречающиеся типы данных в SQL реализации различных СУБД.

Типы данных в SQL

Типы данных в SQL важно знать, чтобы правильно и грамотно проектировать базы данных, правильно выбранный типа данных в SQL может очень сильно облегчить работу другим разработчикам. Поэтому не советую вам пропускать раздел о типах данных и всегда, когда вы знакомитесь с новой СУБД, обращать внимание на типы данных, которые поддерживает программа и на то, как она эти типы данных обрабатывает.

Типы данных в SQL

Содержание статьи:

Рассмотрим типы данных, которые есть в языке SQL. У каждого столбца таблицы (у атрибута) должен быть тип данных для значений, которые хранятся в столбце. Тип данных для столбца определяется при создании таблицы, а еще лучше, когда он определяется на этапе проектирования баз данных.

Язык SQL делит данные на пять типов:

  1. Целочисленный тип данных SQL.
  2. Вещественный тип данных SQL.
  3. Типы данных даты и времени SQL.
  4. Строковый тип данных SQL.
  5. Строковый тип данных SQL в кодировки Юникод.

Давайте посмотрим, что включает в себя каждый из типов данных SQL и какие значения они позволяют нам хранить.

Целочисленный тип данных SQL

Целочисленный тип данных в SQL довольно таки широкий и зависит от реализации СУБД, снизу в таблицы лишь некоторые типичные примеры целочисленного типа данных SQL.

Тип данных SQL от до
bigint -9,223,372,036,854,775,808 9,223,372,036,854,775,807
int -2,147,483,648 2,147,483,647
smallint -32,768 32,767
tinyint 0 255
bit 0 1
decimal -10^38 +1 10^38 -1
numeric -10^38 +1 10^38 -1
money -922,337,203,685,477.5808 +922,337,203,685,477.5807
smallmoney -214,748.3648 +214,748.3647

Еще раз повторюсь, что набор целочисленных типов данных в SQL зависит целиком и полностью от СУБД.

Вещественный тип данных SQL

Вещественный тип данных SQL, как и целочисленный тип данных, целиком и полностью зависит от реализации СУБД.

Тип от до
float -1.79E + 308 1.79E + 308
real -3.40E + 38 3.40E + 38

 

Тип данных даты и времени

Обычно в различных СУБД дата и время — это отдельно выделенный тип данных

Тип данных SQL от до
datetime Jan 1, 1753 Dec 31, 9999
smalldatetime Jan 1, 1900 Jun 6, 2079
date Сохраняет дату как June 30, 1991
time Сохраняет время как 12:30 P.M.

 

Строковый тип данных SQL

Строковых типов данных в SQL может быть гораздо больше, смотрите спецификацию своей СУБД, чтобы узнать какой тип данных может быть использован для строковых значений.

Тип данных SQL Описание
char Максимальная длина 8000 символов (все значения в столбце имеют фиксированный размер, указанный при объявлении столбца). Обратите внимание: единица измерения SQL типа данных char - символ.
varchar Максимальная длина 8000 символов (все значения в столбце имеют различный размер в зависимости от количества символов, но не более того размера, что был указан при объявлении столбца). Обратите внимание: единица измерения SQL типа данных varchar - символ.
varchar (max) Максимальная длина 231 символ. Обратите внимание: единица измерения SQL типа данных varchar (max) - символ.
text Максимальная длина 2,147,483,647 символов. Обратите внимание: единица измерения SQL типа данных text - символ.

 Строковый тип данных SQL в кодировке юникод

Да, некоторые СУБД выделяют строковый тип данных в кодировке юникод, поскольку в строках с кодировкой юникод на запись одного символа тратится, как минимум, 8 байт, поэтому мы и выделяем строковый тип данных в SQL с кодировкой юникод.

Тип данных SQL Описание
nchar Максимальная длина 4000 символов (все значения в столбце имеют фиксированный размер, указанный при объявлении столбца). Обратите внимание: единица измерения SQL типа данных nchar - символ.
nvarchar Максимальная длина 4000 символов (все значения в столбце имеют различный размер в зависимости от количества символов, но не более того размера, что был указан при объявлении столбца). Обратите внимание: единица измерения SQL типа данных nvarchar - символ.
nvarchar (max) Максимальная длина 231 символ. Обратите внимание: единица измерения SQL типа данных nvarchar (max) — символ.
ntext Максимальная длина 1,073,741,823 символов. Переменная длина. Обратите внимание: единица измерения SQL типа данных ntext — символ.

 

Бинарный тип данных в SQL

Бинарный тип данных в SQL используется для хранения информации в бинарном виде (в виде последовательности байт).

Тип данных SQL Описание
binary Максимальная длина 8,000 байт (все значения в столбце имеют фиксированный размер, указанный при объявлении столбца). Обратите внимание: единицы измерения типа данных binary — байты.
varbinary Максимальная длина 8,000 байт (все значения в столбце имеют различный размер в зависимости от количества символов, но не более того размера, что был указан при объявлении столбца). Обратите внимание: единицы измерения типа данных varbinary — байты.
varbinary (max) Максимальная длина 231 байт. Обратите внимание: единицы измерения типа данных varbinary (max) — байты.
image Максимальная длина 2,147,483,647 байт (все значения в столбце имеют различный размер в зависимости от количества символов, но не более того размера, что был указан при объявлении столбца). Обратите внимание: единицы измерения типа данных image — байты.

Хочу обратить ваше внимание на то, что каждая СУБД поддерживает свой набор типов данных и размерностей, мы рассмотрели базовые типы данных языка SQL, в следующей теме мы рассмотрим типы данных, которые поддерживает SQLite3.

Знаковые и без знаковые типы данных в SQL

Хочу обратить ваше внимание на то, что в некоторых СУБД числовые типы данных могут делиться на знаковые и без знаковые типы данных. И это совершенно разные типы данных.

Например, если у вас в одной таблице хранится id INTEGER UNSIGNED, а в другой id_table1 INTEGER SIGNED, то связь между таблицами по этим двум столбцам вы реализовать не сможете, так как у них разные типы данных. Будьте внимательны и всегда читайте описания типов данных, когда начинаете использовать новую СУБД.

Приведем пример практического применения типов данных SIGNED и UNSIGNED. Например, у MySQL есть тип данных TINYINT, который занимает один байт и прекрасно подходит для хранения возраста, следовательно, в столбец с типом TINYINT можно записывать целые числа от 0 до 256 (два в восьмой степени, в одном байте 8 бит, а один бит может принимать два значения: ноль или единицу), если столбец без знаковый, если столбец знаковый, то в него можно записать числа от -128 до 127 (один бит уйдет на знак).

 

zametkinapolyah.ru

Типы данных SQL Server | SQL Программирование

Приводимый ниже список показывает, что Microsoft SQL Server поддерживает большинство типов данных SQL 2003. Также SQL Server поддерживает дополнительные типы данных, используемые для однозначной идентификации строк данных в таблице и на многих серверах, например UNIQUEIDENTIFIER, что соответствует аппаратной философии «роста в ширину», исповедуемой Microsoft (то есть внедрение базы на множестве серверов на платформах Intel), вместо «роста в высоту» (то есть внедрение на одном огромном мощном UNIX сервере или Windows Data Center Server).

Интересное отступление, касающееся дат на SQL Server: SQL Server поддерживает даты начиная с 1753 года. Вы не можете хранить более ранние даты ни в одном типе данных базы SQL Server. Почему? Причина в том, что англоговорящий мир начал использовать григорианский календарь в 1753 году (до сентября 1753 года использовался юлианский календарь), а преобразование дат юлианского календаря в григорианский могло оказаться весьма сложным.

BIGINT (тип данных SQL 2003: BIGINT)

Хранит целые числа со знаком и без знака в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Занимает 8 байт. Смотрите тип INT, где указаны правила свойства IDENTITY, также применимые к типу BIGINT.

BINARY[(n)](тип данных SQL 2003: BLOB)

Хранит двоичное значение фиксированной длины от 1 до 8000 байт. Значение типа BINARY занимает n + 4 байта.

BIT (тип данных SQL 2003: BOOLEAN)

Хранит значения 1, 0 или NULL, которое обозначает «unknown». В одном байте может храниться до 8 значений из столбцов типа BIT таблицы. В еще одном байте можно разместить дополнительные 8 значений типа BIT. Столбцы типа BIT нельзя индексировать.

CHAR[(n)], CHARACTER[(n)] (тип данных SQL 2003: CHARACTER(n))

Хранит символьные данные фиксированной длины от 1 до 8000 символов. Все неиспользованное место по умолчанию заполняется пробелами. (Автоматическое заполнение пробелами можно отключить.) Тип занимает п байт.

CURSOR (тип данных SQL 2003: отсутствует)

Специальный тип данных, используемый для описания курсора в форме переменной или параметра хранимой процедуры OUTPUT. Тип нельзя использовать в инструкции CREATE TABLE. Тип CURSOR может принимать значение NULL.

DATETIME (тип данных SQL 2003: TIMESTAMP)

Хранит значение даты и времени в диапазоне с 01-01-1753 00:00:00 до 31-12-9999 23:59:59. Для хранения требуется 8 байт.

DECIMAL (p. s). DEC (p, s), NUMERIC (p, s) (тип данных SQL 2003: DECIMAL (p, s). NUMERIC (p. s))

Хранит десятичные дроби длиной до 38 цифр. Значения р и s определяют, соответственно, точность и масштаб. Масштаб по умолчанию равен 0. Занимаемое значением место определяется используемой точностью. При точности 1-9 используется 5 байт. При точности 10-19 используется 9 байт. При точности 20-28 используется 13 байт. При точности 29-39 используется 17 байт.

Смотрите тип INT, где указаны правила свойства IDENTITY, также применимые к типу DECIMAL.

DOUBLE PRECISION (тип данных SQL 2003: отсутствует) Синоним FLOAT(53).

FLOAT[(n)] (тип данных SQL 2003: FLOAT, FLOAT(п))

Хранит значения с плавающей точкой в диапазоне от-1.79Е + 308 до 1.79Е + 308. Точность, определяемая параметром п, может изменяться в пределах от 1 до 53. Для хранения 7 цифр (и — от 1 до 24) требуется 4 байта. Значения, превышающие 7 цифр, занимают 8 байт.

IMAGE (тип данных SQL 2003: BLOB)

Хранит двоичное значение переменной длины до 2 147 483 647 байт. Этот тип данных часто используется для хранения графики, звука и файлов, таких, как документы Microsoft Word и электронные таблицы Microsoft Excel. Значениями типа IMAGE нельзя свободно манипулировать. Столбцы типа IMAGE и ТОТимеют множество ограничений на способы использования. Смотрите описание типа TEXT, где приведен список команд и функций, которые применимы и к типу IMAGE.

INT [IDENTITY [(seed, increment)] (тип данных SQL 2003: INTEGER)

Хранит целые числа со знаком или без знака в диапазоне от -2 147 483 648 до 2 147 483 647. Занимает 4 байта. Все целочисленные типы данных, а также типы, хранящие десятичные дроби, поддерживают свойство IDENTITY, identity — это автоматически инкрементируемый идентификатор строки. Обращайтесь к разделу «Инструкция CREATE/ALTERTABLE».

MONEY (тип данных SQL 2003: отсутствует)

Хранит денежные значения в диапазоне от -922337203685477.5808 до 922337203685477.5807. Значение занимает 8 байт.

NCHAR(n), NATIONAL CHAR(n), NATIONAL CHARACTER) (тип данных SQL 2003: NATIONAL СИARACTER(n))

Хранит данные формата UNICODE фиксированной длины до 4000 символов. Для хранения требуется n*2 байт.

NTEXT, NATIONAL TEXT(тип данных SQL 2003: NCLOB)

Хранит фрагменты текста в формате UNICODE длиной до 1 073 741 823 символа. Смотрите описание типа TEXT, где приведен список команд и функций, которые применимы и к типу NTEXT.

NUMERIC(p, s) (тип данных SQL 2003: DECIMAL (p, s))

Синоним типа DECIMAL. Смотрите описание типа INT, где приведены правила, относящиеся к свойству IDENTITY.

NVARCHAR(n), NATIONAL CHAR VARYING(n), NATIONAL CHARACTER VARYING(n) (тип данных SQL 2003: NATIONAL CHARACTER VARYING(n))

Хранит UNICODE-данные переменной длины до 4000 символов. Занимаемое место вычисляется как удвоенное значение длины всех символов, вставленных в поле (число символов * 2). В SQL Server системный параметр SET ANSI_PADDING] для полей NCHAR и NVARCHAR всегда установлен (ON).

REAL, FLOAT(24)(mun данных SQL 2003: REAL)

Хранит значения с плавающей точкой в диапазоне -3.40Е+38 до 3.40Е+38. Занимает 4 байта. Тип REAL функционально эквивалентен типу FLOAT(24).

ROWVERSION (тип данных SQL 2003: отсутствует)

Уникальное число, хранимое в базе данных, которое обновляется всякий раз, когда обновляется строка, В более ранних версиях называется TIMESTAMP.

SMALLDATETIME (тип данных SQL 2003: отсутствует)

Хранит дату и время в диапазоне от ’01-01-1900 00:00′ до ’06-06-2079 23:59′ с точностью до минуты. (Минуты округляются до меньшего значения, если значение секунд 29.998 и менее, в противном случае они округляются до большего значения.) Значение занимает 4 байта.

SMALLINT (тип данных SQL 2003: SMALLINT)

Хранит целые числа со знаком или без знака в диапазоне от -32 768 до 32 767. Занимает 2 байта. Смотрите описание типа INT, где приведены правила, относящиеся к свойству IDENTITY, которые также применимы и к этому типу.

SMALLMONEY (тип данных SQL 2003: отсутствует)

Хранит денежные значения в диапазоне от 214748.3648 до -214748.3647. Значения занимают 4 байта.

SQL VARIANT (тип данных SQL 2003: отсутствует)

Хранит значения, относящиеся к другим поддерживаемым SQL Server типам данных, за исключением типов TEXT, NTEXT, ROWVERSION и других значений типа SQL_VARIANT. Может хранить до 8016 байт данных, поддерживаются значения NULL и DEFAULT. Тип SQL_VARIANTиспользуется в столбцах, параметрах, переменных и возвращаемых функциями и хранимыми процедур, ми значениях.

TABLE (тип данных SQL 2003: отсутствует)

Специальный тип, хранящий получившийся в результате работы последнего процесса набор данных. Используется исключительно для процедурной обработки и не может применяться в инструкциях CREATE TABLE. Этот тип данных уменьшает необходимость создания временных таблиц во многих приложениях. Может уменьшить необходимость перекомпиляций процедур, ускоряя, таким образом, выполнение хранимых процедур и пользовательских функций.

TEXT (тип данных SQL 2003: CLOB)

Хранит очень большие фрагменты текста длиной до 2 147 483 647 символов. Значениями типа ТЕХТн IMAGE часто гораздо труднее манипулировать, чем, скажем, значениями типа VARCHAR. Например, нельзя создавать индекс по столбцу типа TEXT или IMAGE. Значениями типа TEXT можно манипулировать при помощи функций DATALENGTH, PATINDEX, SUBSTRING. TEXTPTR и ТЕХ-TVALID, а также команд READTEXT, SET TEXTSIZE, UPDATETEXT и WR1TETEXT.

TIMESTAMP (тип данных SQL 2003: TIMESTAMP)

Хранит автоматически генерируемое двоичное число, обеспечивающее уникальность в текущей базе данных и, следовательно, отличающееся от типа данных TIMESTAMP стандарта ANSI. Тип TIMESTAMP занимает 8 байт. В настоящее время вместо TIMESTAMP для однозначной идентификации строк лучше применять значения типа ROWVERSION.

TINY1NT

Хранит целые числа без знака в диапазоне от 0 до 255 и занимает 1 байт. Смотрите описание типа /Л/Г, где приведены правила, относящиеся к свойству IDENTITY, которые также применимы и к этому типу.

UNIQUEIDENTIFIER (тип данных SQL 2003: отсутствует)

Представляет собой значение, уникальное для всех баз данных и всех серверов. Представлено в виде хххххххх-хххх-хххх-хххх-хххххххххххх, в котором каждый «х» представляет собой шестнадцатеричное число в диапазоне 0-9 или а — f. Единственными операциями, которые можно производить над значениями этого типа, являются сравнение и проверка на NULL. В столбцах этого типа можно использовать ограничения и свойства, за исключением свойства IDENTITY.

VARBINARY[(п)] (тип данных SQL 2003: BLOB)

Представляет собой двоичное значение переменной длины, до 8000 байт. Занимаемое место соответствует размеру вставленных данных плюс 4 байта.

VARCHARf[(n)], CHAR VARYING [(п)], CHARACTER VARYING f(n)J (тип данных SQL 2003: CHARACTER VARYING [(n)]

Хранит символьные данные фиксированной длины размером от 1 до 8000 символов. Занимаемое место равно реальному размеру введенного значения в байтах, а не значению п.

Источник

Похожие публикации

new-techs.ru