
- •Типы данных sql
- •Tочные числовые типы
- •Истинно целые типы
- •Точные типы, допускающие наличие дробной части
- •Приближенные числовые типы
- •Типы символьных строк
- •Типы битовых строк
- •Типы даты и времени
- •Тип даты
- •Типы времени
- •Типы временной метки
- •Типы времени и временной метки с временной зоной
- •Типы временных интервалов
- •Булевский тип
- •Типы коллекций
- •Типы массивов
- •Типы мультимножеств
- •Анонимные строчные типы
- •Типы, определяемые пользователем
- •Ссылочные типы
- •Типы данных PostgreSql 8.4.2
- •8.1. Числовые типы
- •8.1.1. Целочисленные типы
- •8.1.2. Числа с заданной точностью
- •8.1.3. Типы с плавающей точкой
- •8.1.4. Серийные типы
- •8.2. Денежные типы
- •8.3. Символьные типы
- •8.4. Двоичные типы данных
- •8.5. Типы дата/времени
- •8.5.6. Некоторые подробности по датам
- •8.6. Логический тип
- •8.7. Перечисления
- •8.8. Геометрические типы
- •8.9. Типы сетевых адресов
- •8.10. Типы битовых строк
- •8.11. Типы текстового поиска
- •8.11.1. Tsvector
- •8.11.2. Tsquery
- •8.12. Тип uuid
- •8.13. Тип xml
Типы, определяемые пользователем
Эта категория типов данных связана с объектными расширениями языка SQL. Структурные типы (Structured Types). Соответствующие возможности SQL:1999 позволяют определять долговременно хранимые, именованные типы данных 4), включающие один или более атрибутов любого из допустимых в SQL типа данных 5), в том числе другие структурные типы, типы коллекций, строчные типы и т. д. Стандарт SQL не накладывает ограничений на сложность получаемой в результате структуры данных, однако не запрещает устанавливать такие ограничения в реализации. Дополнительные механизмы определяемых пользователями методов, функций и процедур позволяют определить поведенческие аспекты структурного типа.
Индивидуальные типы (Distinct Types). Можно определить долговременно хранимый, именованный тип данных, опираясь на единственный предопределенный тип. Например, можно определить индивидуальный тип данных PRICE, опираясь на тип DECIMAL (5, 2). Тогда значения типа PRICE представляются точно так же, как значения типа DECIMAL (5, 2). Однако в SQL:1999 индивидуальный тип не наследует от своего опорного типа набор операций над значениями. Например, чтобы сложить два значения типа PRICE требуется явно сообщить системе, что с этими значениями нужно обращаться как со значениями типа DECIMAL (5, 2). Другая возможность состоит в явном определении методов, функций и процедур, связанных с данным индивидуальным типом. Похоже, что в будущих версиях стандарта появятся и другие, более удобные возможности.
Ссылочные типы
Эта категория типов данных связана с объектными расширениями языка SQL. Обеспечивается механизм конструирования типов ( ссылочных типов ), которые могут использоваться в качестве типов столбцов некоторого вида таблиц ( типизированных таблиц ). Фактически значениями ссылочного типа являются строки соответствующей типизированной таблицы. Более точно, каждой строке типизированной таблицы приписывается уникальное значение (нечто вроде первичного ключа, назначаемого системой или приложением), которое может использоваться в методах, определенных для табличного типа, для уникальной идентификации строк соответствующей таблицы. Эти уникальные значения называются ссылочными значениями, а их тип – ссылочным типом. Ссылочный тип может содержать только те значения, которые действительно ссылаются на экземпляры указанного типа (т. е. на строки соответствующей типизированной таблицы ).
Типы данных PostgreSql 8.4.2
8.1. Числовые типы
Числовые типы представлены двух, четырёх и восьми байтовыми целыми числами, четырёх и восьми байтовыми числами с плавающей точкой и числами с выбираемой точностью (количеством знаков после точки). В Table 8-2 перечислены доступные типы.
Имя Размер хранения Описание Диапазон
smallint 2 байта целые числа малого диапазона от -32768 до +32767
integer 4 байта обычные целые числа от -2147483648 до +2147483647
bigint 8 байт целые числа большого диапазона от -9223372036854775808 до 9223372036854775807
decimal переменный числа с точностью, указываемой пользователем, точное число без ограничений
numeric переменный числа с точностью, указываемой пользователем, точное число без ограничений
real 4 байта переменная точность, неточное число точность 6 десятичных разрядов
double precision 8 байт переменная точность, неточное число точность 15 десятичных разрядов
serial 4 байта целое число с автоувеличением от 1 до 2147483647
bigserial 8 байт большое целое число с автоувеличением от 1 до 9223372036854775807