русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

II.3.2. Некоторые функции даты и времени


Дата добавления: 2015-07-09; просмотров: 526; Нарушение авторских прав


Таблица 2. Наиболее распространенные функции обработки календарных дат.

Функция Возвращаемое значение Пример использования Результат(зависит от даты вычисления данного примера)
sysdate Текущие дата и время select sysdate from dual; 28-FEB-99 (при вызове 28 февраля 1999 года)
last_day Последний день месяца select last_day(sysdate) from dual; 31-MAR-99 (при вызове 12 марта 1999 года)
add_months(d,n) Добавляет к дате d (или вычитает из нее) n месяцев select add_months(sysdate,2) from dual; 18-MAY-99 (при вызове 18 марта 1999 года)
months_between(f,s) Число месяцев между датой f и датой s select months_between(sysdate, '12-MAR-99') from dual; 13 (при вызове в апреле 1998 года)
next_day(d,day) Ближайший указанный день недели day после даты d select next_day(sysdate,'Monday') from dual; 05-JAN-98 (при вызове 30 декабря 1997 года)

 

Для работы с функциями обработки календарных дат надо знать собственно форматы представления дат. Поэтому далее приведем форматы представления дат в Oracle.

Таблица 3. Наиболее распространенные форматы представления дат.

Функция Возвращаемое значение Пример использования Результат(зависит от даты вычисления данного примера)
Y, YY или YYY Последние одна, две или три цифры календарного года select to_char(sysdate,'YYY') from dual; 999 (для всех дней 1999 года)
SYEAR или YEAR Полный номер календарного года; при использовании SYEAR перед датами до н.э. ставится минус select to_char(sysdate, 'SYEAR') from dual; TWO THOUSAND EIGHT (для вызова в 2008 г.)
Q Квартал года (первый квартал продолжается с января по март) select to_char(sysdate,'Q') from dual; 2 (для всех дней июня)
MM Номер месяца (в формате 01-12, где 12 соответствует декабрю) select to_char(sysdate,'MM') from dual; 12 (для всех дней декабря)
RM Номер месяца римскими цифрами select to_char(sysdate,'RM') from dual; IV (для всех дней апреля)
Month Месяц в виде строки из девяти символов select to_char(sysdate, 'Month') from dual; May и шесть пробелов (для всех дней мая)
WW Номер недели в году select to_char(sysdate,'WW') from dual; 24 (при вызове 13 июня 1998 года)
W Номер недели в месяце select to_char(sysdate,'W') from dual; 1 (при вызове 1 октября 1995 года)
DDD Порядковый номер дня в году: 1 января — день номер 001, 1 февраля — 032 и т.д. select to_char(sysdate,'DDD') from dual; 363 (при вызове 29 декабря 1999 года)
DD День месяца select to_char(sysdate,'DD') from dual; 04 (при вызове 4 октября)
D День недели (в формате 1-7) select to_char(sysdate,'D') from dual; 1 (при вызове 14 марта 1999 года)
DY Сокращенное название дня недели select to_char(sysdate,'DY') from dual; SUN (при вызове 28 марта 1999 года)
НН или НН12 Час по 12-часовой системе select to_char(sysdate,'HH') from dual; 02 (в момент времени 02:08, т.е. в 2 часа 8 минут после полуночи)
НН24 Час по 24-часовой системе select to_char(sysdate,'HH24') from dual; 14 (в 2 часа 8 минут пополудни, т.е. в 14:08)
Ml Минуты (0-59) select to_char(sysdate,'MI') from dual; 17 (в 16:17, т.е. в 4 часа 17 минут пополудни)
SS Секунды (0-59) select to_char(sysdate,'SS') from dual; 22 (в момент времени 11:03:22)

Следует привести команды, полезные при заполнении таблиц информацией из SQL скрипта, применять которые нужно, если настройки даты на своем компьютере отличаются от формата даты в скриптах. Параметры настройки даты на своем компьютере определяют командой



demo@10g> select * from nls_session_parameters

where parameter in ('NLS_LANGUAGE','NLS_DATE_FORMAT');

 

PARAMETER VALUE

------------------------------ ---------------------------------

NLS_LANGUAGE RUSSIAN

NLS_DATE_FORMAT DD.MM.RR

 

Такие настройки даты на моем компьютере. В скриптах же заполнения таблиц схемы «DEMO» формат даты «dd-mon-yyyy», причем месяц пишется на английском («JUN», «FEB» и т.д.). Поэтому мне для успешного заполнения таблиц схемы демо необходимо выполнить две команды:

alter session set nls_date_format='dd-mon-yyyy';

alter session set nls_language='AMERICAN';

Эти две команды присутствуют в начале скрипта создания предметной области DEMO.

 

Q3_9 Определим в днях разницу дат заказа покупки (order_date) покупателем и ее оплаты (ship_date)

demo@10g> Select ship_date - order_date "Задержка оплаты" from sales_order

where to_char(order_date, 'yy')=89;

 

Задержка оплаты

---------------

 

21 строк выбрано.

 

Q3_10 Определим заказы, перешедшие на другой год

demo@10g> select order_id, customer_id from sales_order

2 where to_char(ship_date,'yyyy')-to_char(order_date,'yyyy')=1;

 

ORDER_ID CUSTOMER_ID

---------- -----------

549 226

559 222

 



<== предыдущая лекция | следующая лекция ==>
II.3.1. Некоторые символьные функции | II.3.3. Некоторые функции преобразования


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.187 сек.