---------- --------- -------------
JAMES CLERK 900
SQL> SELECT sal, comm, MOD(sal, comm) FROM emp WHERE comm IS NOT NULL;
SAL COMM MOD(SAL,COMM)
---------- ---------- -------------
1600 300 100
1250 500 250
1250 1400 1250
1500 0 1500
Даты в Oracle хранятся во внутреннем цифровом формате: век, год, месяц, число, часы, минуты, секунды. По умолчанию дата выводится в формате число – месяц – год. Даты можно хранить с 1 января 1472 года до н.э. по 31 декабря 4172 года н.э.
Для вывода текущей даты и времени используется функция SYSDATE. Эту функцию можно использовать так же, как и имя столбца при выводе данных из любой таблицы или из фиктивной таблицы DUAL.
SQL> SELECT SYSDATE FROM emp WHERE comm IS NOT NULL;
SYSDATE
---------
30-SEP-01
30-SEP-01
30-SEP-01
30-SEP-01
SQL> SELECT SYSDATE FROM dual;
SYSDATE
---------
30-SEP-01
Вы можете выполнять арифметические операции, такие как сложение и вычитание, с датами:
Операция |
Результат |
Описание |
дата + число |
дата |
Прибавление к дате заданного количества дней |
дата - число |
дата |
Вычитание из даты заданного количества дней |
дата – дата |
количество дней |
Вычитание одной даты из другой |
дата + число/24 |
дата |
Прибавление к дате заданного количества часов |
Функции для работы с датами:
Функция |
Описание |
MONTHS_BETWEEN (дата1, дата2) |
Вычисляет количество месяцев между двумя датами. Дробная часть результата представляет собой долю месяца. Результат может быть отрицательным, в этом случае дата1 более ранняя, чем дата2 |
ADD_MONTHS (дата, n) |
К дате добавляется заданное число месяцев. Число n может быть отрицательным, но всегда должно быть целым |
NEXT_DAY (дата, символ) |
Определяет дату ближайшего дня недели, заданного символом, после указанной даты. Символ может быть задан порядковым номером или названием дня недели |
LAST_DAY (дата) |
Определяет дату последнего дня месяца, содержащего указанную дату |
ROUND (дата [, ‘fmt’]) |
Округляет до целых суток (до даты на момент полуночи), в соответствии с моделью формата ‘fmt’. Если ‘fmt’ = YEAR, определяет первый день года |
TRUNC (дата [, ‘fmt’]) |
Отсекает часть даты, обозначающую время, в соответствии с моделью формата ‘fmt’. Если ‘fmt’ = YEAR, определяет первый день года |
SQL> SELECT ename, hiredate, SYSDATE,
2 MONTHS_BETWEEN(SYSDATE, hiredate) MONTHS_BETWEEN
3 FROM emp WHERE job='CLERK';
ENAME HIREDATE SYSDATE MONTHS_BETWEEN
---------- --------- --------- --------------
SMITH 17-DEC-80 01-OCT-01 249.48439
ADAMS 12-JAN-83 01-OCT-01 224.645681
JAMES 03-DEC-81 01-OCT-01 237.936003
MILLER 23-JAN-82 01-OCT-01 236.290842
Модель формата должна быть заключена в апострофы. Символы верхнего и нижнего регистров различаются, т.е., если Вы задаете модель формата в верхнем регистре, то и название месяца или дня при выводе будет отображено в верхнем регистре.
Для функций ROUND и TRUNC разрешены следующие модели формата:
Таблица 1 Модели формата, используемые в функциях ROUND, TRUNC, TO_CHAR, TO_DATE
Правила округления |
Модель |
Описание |
Столетие |
СС |
|
SCC |
Даты до н.э. получают префикс “-” |
|
Год |
YYYY |
|
SYYYY |
Даты до н.э. получают префикс “-” |
|
YYY, YY, Y |
Последние 3, 2 или 1 цифра года |
|
YEAR |
Год словами |
|
SYEAR |
Год словами. Даты до н.э. получают префикс “-” |
|
RR |
Используется вместо YY. Позволяет менять столетие возвращаемого значения |
|
Квартал |
Q |
|
Месяц |
MONTH |
Название месяца, дополненное пробелами до 9 символов |
MON |
Трехбуквенное название месяца |
|
MM |
Месяц в виде двузначного числа |
|
RM |
Номер месяца римскими цифрами |
|
Неделя |
WW, W |
Неделя года или неделя месяца |
DAY |
Название дня недели, дополненное пробелами до 9 символов |
|
DY |
Трехбуквенное название дня недели |
|
День |
DDD, DD, D |
День года, месяца или недели |
J |
Дата по Юлианскому календарю (количество дней после 31 декабря 4713 г. до н.э.) |
|
Часы |
HH, |
Время суток, час в 12-часовом диапазоне или час в 24-часовом
диапазоне |
Минуты |
MI |
Минуты (0–59) |
Секунды (в функциях ROUND, TRUNC не используется) |
SS |
Секунды (0-59) |
SSSSS |
Количество секунд после полуночи (0-86399) |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.