
Арифметические действия с датами
Вы можете прибавлять и вычитать числовые константы и даты из даты. Oracle интепретирует числа в арифметических выражения с датой как количество дней. Например, SYSDATE + 1 дает завтрашнюю дату, а SYSDATE - 7 – дату неделю раньше. Выражение SYSDATE + (10/1440) дает дату и время спустя 10 минут от текущей датф и времени. Вычитание из столбца HIREDATE таблицы TEACHER значения функции SYSDATE дает количество дней, прошедших с момента поступления преподавателя на работу. Значения типа DATE нельзя умножать и делить.
Oracle предоставляет ряд функций для оперирования с датами, например, функция ADD_MONTHS позволяет добавлять итли вычитать месяцы из даты. Так как дата содержит также и время, результаты вычисления операций над датами дают дробные значения. Дробь означает часть дня, например, 1.5 дней – это 36 часов.
Язык SQL Oracle. Назначения функции TO_DATE. Пример
Для ввода даты, которая отличается от текущего формата по умолчанию воспользуйтесь функцией 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. Этот формат следующий:
DATE 'YYYY-MM-DD'
Где:
DATE – ключевое слово
YYYY-MM-DD – дата в формате:
YYYY – четыре цифры года
ММ – две цифры месяца
DD – две цифры дня
- – символ «минус»
Примеры: DATE '1968-01-17', DATE '2005-07-23'
Язык SQL Oracle. Арифметические операции с датами
Вы можете прибавлять и вычитать числовые константы и даты из даты. Oracle интепретирует числа в арифметических выражения с датой как количество дней. Например, SYSDATE + 1 дает завтрашнюю дату, а SYSDATE - 7 – дату неделю раньше. Выражение SYSDATE + (10/1440) дает дату и время спустя 10 минут от текущей датф и времени. Вычитание из столбца HIREDATE таблицы TEACHER значения функции SYSDATE дает количество дней, прошедших с момента поступления преподавателя на работу. Значения типа DATE нельзя умножать и делить.
Oracle предоставляет ряд функций для оперирования с датами, например, функция ADD_MONTHS позволяет добавлять итли вычитать месяцы из даты. Так как дата содержит также и время, результаты вычисления операций над датами дают дробные значения. Дробь означает часть дня, например, 1.5 дней – это 36 часов.
Арифметика даты и времени
Данные типа DATE могут быть операндами операций увеличения, уменьшения и вычитания.
В операциях увеличения и уменьшения тип первого операнда - DATE, тип второго операнда - NUMBER. Тип результата совпадает с типом первого операнда.
В операции вычитания оба операнда должны иметь тип DATE, результат имеет тип NUMBER.
Число типа NUMBER в арифметике даты и времени интерпретируется как количество дней. Дробная часть числа - дробные части дня, т.е., часы, минуты, секунды. Некоторые функции Oracle обеспечивают дополнительную поддержку арифметики даты и времени:
ADD_MONTHS(d,n) - возвращает дату d плюс n месяцев (n может быть только целым)
MONTHS_BETWEEN(d1,d2) - возвращает, количество месяцев между датами d1 и d2 (возможно, с дробной частью)
LAST_DAY(d) - возвращает дату последнего дня того же месяца, к которому относится дата d
NEXT_DAY(d,c) - возвращает дату, соответствующую следующему появлению дня недели, заданного текстовым значением c, после даты d
ROUND(d,fmt) - возвращает дату, округленную до формата, заданного вторым (необязательным) параметром
TRUNC(d,fmt) - возвращает дату, усеченную до формата, заданного вторым (необязательным) параметром
Язык SQL Oracle. Назначение и возможности команды CREATE TABLE. Пример
Для создания реляционной таблицы в вашей собственной схеме необходима системная привилегия CREATE TABLE .
Таблицы создаются командой CREATE TABLE. Эта команда создает пустую
таблицу - таблицу без строк. Значения вводятся с помощью DML команды
INSERT . Команда CREATE TABLE в основном определяет имя
таблицы, в виде описания набора имен столбцов указанных в определенном порядке. Она также определяет типы данных и размеры столбцов. Каждая таблица должна иметь по крайней мере один столбец.
Команда SQL Create Table предназначена для описания структуры таблицы. При создании, с помощью CREATE TABLE, любому столбцу с ограничением NOT NULL должно быть установлено значение в каждом предложении INSERT, воздействующем на таблицу.
create table ROOM
(
RomNo integer,
Num number (4),
Seats number(3)
);
Язык SQL Oracle. Назначение и возможности команды ALTER TABLE. Пример