|
Программирование >> Построение запросов sql
Таблица 2.5. Типы данных SQL, используемых в СУБД Firebird
Десятичными числовыми типами с фиксированной точкой являются типы NUMERIC и DECIMAL. При определении типа NUMERIC или DECIMAL Firebird производит преобразование типов тремя способами: - определенные без p и s - всегда сохраняются как INTEGER; - определенные с p, но без s - в зависимости от спецификации p, сохраняются как SMALLINT, INTEGER или BIGINT; - определенные с p и s - в зависимости от спецификации p, сохраняются как SMALLINT, INTEGER или BIGINT. В табл. 2.6 содержатся сведения о том, как Firebird сохраняет десятичные типы данных NUMERIC (или DECIMAL). Таблица 2.6. Преобразование типов данных
Приведенные в табл. 2.6 данные по преобразованию десятичных типов следует понимать следующим образом. Если, например, определить десятичный тип с p<9 и s<3, то тип NUMERIC(9,3) будет преобразован в INTEGER, но, приняв определение для p>10 и s>4, будет получен тип BIGINT. Числовыми типами с плавающей точкой являются типы DOUBLE PRECISION и FLOAT. В этих типах положение десятичной точки не зафиксировано. Столбцы с типом DOUBLE PRECISION или FLOAT следует определять, когда нужно хранить числа с изменяющимся масштабом. Типы данных даты и времени представлены типами DATE, TIME и TIMESTAMP. Формат типа DATE задается в виде ДД.MM.ГГГГ, MM/ДД/ГГГГ, ГГГГ-ММ-ДД, MM:ДД:ГГГГ или ДД-МММ-ГГГГ. При этом ММ - две цифры месяца (МММ - первые три буквы в английском названии месяца), ДД - две цифры дня, ГГГГ - четыре цифры года. Для формата ДД-МММ-ГГГГ в качестве МММ употребляются первые три буквы латинского названия месяца (табл. 2.7). Например, дату 17 декабря 2001 года можно записать как один из следующих вариантов: 17.12.2001, 12/17/2001, 2001-12-17, 12:17:2001 или 17-DEC-2001. Тип данных TIME включает время. Чтобы задать время, необходимо использовать описание ЧЧ/МН/СК или ЧЧ:МН:СК. При этом ЧЧ - две цифры часов, МН - две цифры минут, СК - две цифры секунд. Чтобы задать дату и время вместе, необходимо использовать тип TIMESTAMP с описанием MM/ДД/ГГГГ/ЧЧ/МН/СК или ДД.ММ.ГГГГ ЧЧ:МН:СК. Таблица 2.7. Сокращения названий месяцев
Если в таблице БД или в нескольких таблицах присутствуют столбцы, обладающие одними и теми же характеристиками, можно описать тип такого столбца и его поведение через домен, а затем поставить в соответствие каждому из одинаковых столбцов имя домена. Домен определяет все потенциальные значения, которые могут быть присвоены атрибуту. Получить список всех типов данных можно из системной таблицы RDB$TYPES с помощью следующего запроса: SELECT * FROM RDB$TYPES;. В языке SQL обеспечивается возможность использования в различных операциях не только значений тех типов, для которых предопределена операция, но и значений типов, неявным или явным образом приводимых к требуемому типу. Кроме неявного преобразования типов данных (например, преобразования десятичных типов - табл. 2.6), существует универсальная функция CAST, с помощью которой значения одного типа преобразовываются в значения другого типа, если такие изменения вообще возможны. Подробнее данная функция будет рассмотрена далее. Ориентированный на работу с таблицами, SQL не имеет достаточно средств для создания сложных прикладных программ. Поэтому в разных СУБД он либо используется вместе с языками программирования высокого уровня (Си, Паскаль и др.), либо включен в состав команд специально разработанного языка СУБД (язык систем dBASE, R:BAE и т. п.). Унификация полных языков современных профессиональных СУБД достигается за счет внедрения объектно-ориентированного языка четвертого поколения 4GL. Он позволяет организовывать циклы, условные предложения, меню, экранные формы, сложные запросы к базам данных с интерфейсом, ориентированным как на алфавитно-цифровые терминалы, так и на оконный графический интерфейс.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |