|
Типы дата/время
Типы дата/время предназначены для хранения времени, дат и дат совместно с временем. Такие типы, поддерживаемые СУБД SQL Anywhere, перечислены в табл. 3.
Таблица 3. Перечень типов дата/время
Тип данных
Назначение
DATE
Тип для представления даты в виде
совокупности года, месяца и числа.
Значение года может изменяться в
диапазоне от 0001 до 9999 года
TIME
Тип для представления времени в
виде совокупности часа, минут, секунд
и долей секунд. Доли секунд
хранятся с точностью до 6 знаков.
TIMESTAMP
Тип для представления момента
времени конкретной даты. Данные
хранятся в виде совокупности года,
месяца, числа, часа, минут, секунд и
долей секунд. Доли секунд хранятся
с точностью до 6 знаков.
DATETIME
Тоже, что и TIMESTAMP
SMALLDATETIME
Тоже, что и TIMESTAMP
Обмен данными типа дата/время с базами данных производится:
- в формате структуры TIMESTAMP при использовании интерфейса ODBC;
- в формате структуры SQLDATETIME, если взаимодействие приложений с СУБД осуществляется через интерфейс Embedded SQL;
- через строку символов в других случаях.
В первых двух случаях все компоненты данных типа дата/время записываются в свои поля. В результате этого достигается однозначное представление информации. При использовании строки формат данных типа дата/время определяется такими параметрами баз данных как DATA_FORMAT, DATA_ORDER, TIME_FORMAT и TIMESTAMP_FORMAT. Различные сочетания этих параметров порождают большое число вариантов форматов. Однако это не должно вызывать особого беспокойства. Параметры базы данных устанавливаются для всей базы данных и действуют на все приложения и всех пользователей. Форматы данных типа дата/время, определяемые вышеуказанными параметрами баз данных по умолчанию, представлены в табл. 4.
Таблица 4. Форматы представления данных типа дата/время, определяемые по умолчанию
Тип данных
Формат, используемый по умолчанию
DATE
'YYYY-MM-DD'
TIME
'HH:NN:ss.SSS'
TIMESTAMP
'YYYY-MM-DD HH:NN:ss.SSS'
DATETIME
'YYYY-MM-DD HH:NN:ss.SSS'
SMALLDATETIME
'YYYY-MM-DD HH:NN:ss.SSS'
В табл. 4 используются следующие сокращения:
- YYYY - четыре цифры , обозначающие год;
- MM - две цифры , обозначающие месяц;
- DD - две цифры , обозначающие день;
- HH - две цифры , обозначающие часы;
- NN - две цифры , обозначающие минуты;
- ss - две цифры , обозначающие секунды;
- SSS - три цифры , обозначающие доли секунд.
По умолчанию составляющие времени HH, NN, ss, SSS принимаются равными нулю, а DD - единице. Содержимое строк, представляющие данные типа дата/время , конвертируются автоматически.
Двоичные типы предназначены для представления двоичных данных, включая изображения и другую информацию, не обрабатываемую собственными средствами СУБД. Все двоичные типы приведены в табл. 5.
Таблица 5. Двоичные типы SQL Anywhere
Тип данных
Назначениеs
Размер
BIT
Тип для представления значений 0 и 1. Аналог полей типа Logical в dBase, FoxPro
1 байт
BINARY
Тоже, что и CHAR, за
исключением операций
сравнения.
В отличии от CHAR,
данные этогопо умолчанию
1 байт типа сравниваются
на полное совпадение
двоичных кодов байтов
до 32767 байт
LONG BINARY
Тип для представления
двоичных данных
произвольной длины
Длина
произвольная. Ограничена максимальным
размером
файлов базы
данных
(2 гиго- байта)
IMAGE
Тоже, что и LONG BINARY
Пользовательские типы данных
В СУБД SYBASE SQL Anywhere пользователям предоставлена возможность создавать свои типы данных. Они создаются на базе существующих типов
- путем запрета/разрешения записи значений NULL,
- определения значений по умолчанию (установки DEFAULT);
- задания условий на записываемые значения (установки CHECK).
Пользовательские типы можно создать и в утилите ISQL, и утилите SQL Central. В среде ISQL для решения этой задачи необходимо выполнить SQL-оператор CREATE DATATYPE. В SQL Central расширить состав имеющихся типов данных можно при помощи мастера Add User-defined Data Type, являющегося элементом папки User-defined Data Types . Право создания пользовательских типов данных имеют только пользователи, имеющие право создавать объекты базы данных (класс полномочий Resource) или обладающие правами администратора (класс полномочий DBA). Пользователь, создавший новый тип данных, становится его владельцем. Сразу после появления этого типа данных доступ к нему получают все пользователи, зарегистрированные в базе данных.
Новый тип данных может применяться при определении типов полей и при описании переменных в хранимых процедурах и триггеров. Удалить новый тип может его владелец или пользователь с классом полномочий DBA. Удаление этого типа данных возможно только в том случае, если он нигде не используется.
В завершении анализа типов данных, поддерживаемых SQL Anywhere, необходимо сказать следующее. Большое количество "собственных" типов данных и возможность создания пользовательских типов данных должны удовлетворить запросы самого взыскательного пользователя.
Список литературы
1. Д. Вейскас
Эффективная работа с Microsoft Access 7.0
«Microsoft Press», 1997.
2. Дж. Вудкок, М. Янг
Эффективная работа с Microsoft Office 95
«Microsoft Press».
3. А. Горев, С. Макашарипов, Р. Ахаян
Эффективная работа с СУБД
СПб, «Питер», 1997.
4. А. В. Потапкин
Основы Visual Basic для пакета Microsoft Office
М, «Эком», 1995.
При использовании материалов активная ссылка на источник обязательна.