Типы данных языка Transact-SQL

Идентификаторы языка Transact-SQL

Элементы языка SQL на примере Transact-SQL

Состав языка SQL

Основу языка SQL составляют операторы, условно разбитые не несколько групп по выполняемым функциям. Можно выделить следующие группы операторов

- операторы определения данных (Data Definition Language, DDL);

- операторы манипуляции данными (Data Manipulation Language, DML);

- операторы управления доступом к данным (Data Control Language, DCL);

- операторы управления транзакциями (Transaction Control Language, TCL).

Имя объекта базы данных называется его идентификатором. Идентификаторы в Microsoft SQL Server 2008 могут присваиваться любым сущностям: серверам, базам данных и их объектам, например таблицам, представлениям, столбцам, индексам, триггерам, процедурам, ограничениям и правилам. Для большинства объектов идентификаторы необходимы, а для некоторых, например ограничений, необязательны.

Идентификатор объекта создается при определении объекта. Затем идентификатор используется для обращения к объекту.

Существует два класса идентификаторов: обычные идентификаторы и идентификаторы с разделителем. Как обычные идентификаторы, так и идентификаторы с разделителем могут содержать от 1 до 128 символов. Для локальных временных таблиц идентификатор может содержать не более 116 символов.

Определение 1.1. Обычные идентификаторы соответствуют правилам форматирования идентификаторов.

Определение 1.2. Идентификаторы с разделителем заключаются в двойные кавычки (") или квадратные скобки ([ ]).

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

- столбцы таблиц и представлений;

- параметры хранимых процедур;

- переменные;

- функции Transact-SQL, возвращающие одно или несколько значений конкретного типа данных;

- хранимые процедуры, возвращающие значение (это значение всегда имеет тип integer).

При назначении типа данных объекту определяются четыре атрибута объекта:

- вид данных, содержащихся в объекте;

- размер или длина хранимого объектом значения;

- точность числа (только в случае числовых типов);

- масштаб числа (только в случае числовых типов).

Простые типы данных в SQL, как и в подавляющем большинстве других языков, можно разделить на несколько групп: числовые, строковые, даты и времени и пр. Основные типы данных представлены в таблицах 1.3–1.8.

Таблица 1.3 – Числовые типы данных Transact-SQL

Название Описание
int 32-хразрядное целое со знаком (4 байта)в диапазоне от -2147483648 до 2147483647.
bigint 64-хразрядное целое со знаком (8 байт)в диапазоне от -9223372036854775808 до 9223372036854775807.
smallint 16-иразрядное целое со знаком (2 байта) в диапазоне от -32768 до 32767.
tinyint 8-иразрядное целое без знака (1 байт) в диапазоне от 0 до 255.
bit 1-оразрядное целое, заменяет логический тип данных, как 1 байт (8 бит), может принимать значения: либо 0, либо 1.
decimal или numeric Вещественное число с фиксированной запятой. Название может быть сокращено до dec. Синтаксис определения decimal(p, s), где p – точность (количество десятичных разрядов числа) от 1 до 38, s – масштаб (количество десятичных разрядов после запятой) от 0 до p. В памяти значения данного типа занимают различное число байт, зависящее от точности при точности 1–9 знаков – 5 байт, при точности 10–19 знаков – 9 байт, при точности 20–28 знаков – 13 байт, при точности 29–38 знаков – 17 байт
float Вещественное число с плавающей запятой. Синтаксис определения: float[(p)], где p – точность (число знаков основания) от 1 до 53. При точности 1–24 знаков для хранения числа выделяется 4 байта памяти, а при точности 25–53 знака – 8 байт. По умолчанию p = 53.

Таблица 1.4 – Денежные типы данных Transact-SQL

Название Описание
money Вещественное число с фиксированной запятой (4 знака после запятой). Занимает 64 разряда (8 байт). Может принимать значения от -922337203685477,5808 до 922337203685477,5807.
smallmoney Аналогично money, только 32-хразрядное (4 байта), но также 4 знака после запятой. Может принимать значения от -214748,3648 до 214748,3647.

Таблица 1.5– Символьные типы данных Transact-SQL

Название Описание
char Массив 8-разрядных символов фиксированного размера. Синтаксис определения: char[(n)], где n – число символов от 1 до 8000. Если n не задается в определении данных или в инструкции объявления переменной, длина по умолчанию равна 1. Если при использовании функций CAST и CONVERT n не задается, длина по умолчанию равна 30. Синонимом по стандарту ISO для типа char является character.
varchar Аналогичен char, но при хранении строк памяти отводится по длине строки, а не всегда n байт, но не более n. Синтаксис определения: varchar[(n)], где n – число символов от 1 до 8000. Если n не задается в определении данных или в инструкции объявления переменной, длина по умолчанию равна 1. Если при использовании функций CAST и CONVERT n не задается, длина по умолчанию равна 30. Синонимами по стандарту ISO для типа varchar являются типы char varying или character varying.
text Массив 8-разрядных символов размером до 2 Гб.
nchar Массив 16-разрядных символов фиксированного размера. Символы хранятся в кодировке UNICODE UCS-2. Синтаксис определения: nchar[(n)], где n – число символов от 1 до 4000. Если n не задается в определении данных или в инструкции объявления переменной, длина по умолчанию равна 1. Если при использовании функций CAST и CONVERT n не задается, длина по умолчанию равна 30. Синонимами по стандарту ISO для типа nchar являются типы national char и national character.
nvarchar Аналогичен nchar за исключением того, что при хранении строк памяти отводится по длине строки, а не всегда n байт, но не более n. Синтаксис определения: nvarchar[(n)], где n – число символов от 1 до 4000. Если n не задается в определении данных или в инструкции объявления переменной, длина по умолчанию равна 1. Если при использовании функций CAST и CONVERT n не задается, длина по умолчанию равна 30. Синонимами по стандарту ISO для типа nvarchar являются типы national char varying и national character varying.
Ntext Массив 16-иразрядных символов размером до 2 Гб. Символы хранятся в кодировке UNICODE UCS-2. Синонимом по стандарту ISO для типа ntext является national text.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: