- •Лабораторная робота 1
- •Ключевые слова и параметры
- •Типы данных Oracle
- •Семантика сравнения строковых данных
- •Использование типа данных number
- •Использование типа данных date
- •Date 'yyyy-mm-dd' Где:
- •Арифметические действия с датами
- •Типы данных ansi/iso
- •Изменение таблиц
- •Удаление таблиц
- •Задание
- •Создание таблицы
- •Изменение таблицы
- •Удаление таблицы
- •Контрольные вопросы
- •Приложение а. Правила именования объектов базы данных
Использование типа данных number
Используйте тип NUMBER для хранения действительных чисел в формате с фиксированной или плавающей точкой. Гарантируется, что числа в этом формате будут совместимыми на всех платформах Oracle. Допустимая точность - 38 десятичных цифр. В столбце типа NUMBER можно запоминать положительные и отрицательные числа в диапазоне от 1 x 10-130 до 9.99...x10125, а также нули.
Для числовых столбцов вы можете специфицировать столбец как число с плавающей запятой следующим образом:
Column_name NUMBER
Вы можете указать точность – precision - (общее количество десятичных знаков в числе) и масштаб – scale - (количество десятичных знаков справа от десятичной точки) следующим образом:
Column_name NUMBER (<precision>, <scale>)
Например: число 123.45 имеет точность 5 и масштаб 2.
Для указания чисел специального типа используйте следующие возможности:
Целое число – NUMBER(p);
Число с фиксированной точкой – NUMBER(p,s)
Число с плавающей точкой - NUMBER
Точность и масштаб не являются обязательными, однако они позволяют проводить дополнительную проверку данных при их вводе. Если точность не определена, то значение столбца запоминается в том виде, как оно было указано. В табице ниже приводятся примеры запоминания данных при различных значениях точности и масштаба.
Исходные данные |
Формат запоминания |
Сохраняются так |
7,456,123.89 |
NUMBER |
7456123.89 |
7,456,123.89 |
NUMBER (9) |
7456124 |
7,456,123.89 |
NUMBER (9,2) |
7456123.89 |
7,456,123.89 |
NUMBER (9,1) |
7456123.9 |
7,456,123.89 |
NUMBER (6) |
(не допустимо, так как превышена точность) |
7,456,123.89 |
NUMBER (7, -2) |
7456100 |
Использование типа данных date
Используйте тип данных DATE для запоминания даты и времени. Тип DATE запоминает столетие, год, месяц, день, часы, минуты и секунды.
Oracle использует свой внутренний формат для хранения дат. Данные типа даты запоминаются в полях фиксированной длины в 7 байт, каждый байт используется для хранения столетия, года, месяца, дня, часа, минуты и секунды соответственно.
При вводе и выводе даты стандартным форматом даты по умолчанию является DD-MON-YY. Например:
'13-NOV-92'
Для изменения этого формата по умолчанию на другой используйте параметр NLS_DATE_FORMAT. Для изменения формата по умолчанию даты на период сеанса работы используйте предложение ALTER SESSION. Для ввода даты, которая отличается от текущего формата по умолчанию воспользуйтесь функцией TO_DATE с соответствующей маской формата, например:
TO_DATE ('November 13, 1992', 'MONTH DD, YYYY')
Если используется формат DD-MON-YY, то YY указывает на год в 20-м столетии (например, 31-DEC-92 является датой December 31, 1992). Если необходимо представить год с указанием столетия, то используйте соответствующую маску формата, например, как это показано на примере выше.
Время запоминается в формате 24 часов: #HH:MM:SS. По умолчанию время в поле даты равно 12:00:00 A.M. если временная компонента даты не была указана. Если вводится только время, то дата по умолчанию предполагается равной первому дню текущего месяца. Для ввода только времени используйте функцию TO_DATE с маской формата, указывающей на присутствии только времени, например::
INSERT INTO EventTime (name, EvTime) VALUES
('START',TO_DATE('10:56',' HH:MI'));
СтандартSQL предполагает еще одну форму задания литерала типа даты (то есть собственно даты без времени), который также поддерживается в Oracle.Этот формат следующий: