Базы данных Oracle - статьи

         

Функции типа данных TIME


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

Листинг 3

SCOTT@O102>alter session set nls_time_format='HH24:MI:SSXFF'; Session altered. SCOTT@O102>alter session set nls_time_tz_format='HH24:MI:SSXFF TZH:TZM'; Session altered. SCOTT@O102>col tm for a40 SCOTT@O102> --CURRENT_TIME - текущее время с временной зоной SCOTT@O102>select current_time tm from dual; TM ---------------------------------------- 02:22:34 +06:00 SCOTT@O102> --LOCALTIME - локальное время SCOTT@O102>select localtime tm from dual; TM ---------------------------------------- 02:23:29 SCOTT@O102>

--TO_TIME - преобразование строки к типу TIME, опциональный второй аргумент - NLS-format SCOTT@O102>select to_time('01.02.03','hh24.mi.ss') tm from dual; TM ---------------------------------------- 01:02:03.000000000 SCOTT@O102> --TO_TIME_TZ - аналогичен TO_TIME, но возвращает TIME WITH TIME ZON SCOTT@O102>select to_time_tz('01.02.03','hh24.mi.ss') tm from dual; TM ---------------------------------------- 01:02:03.000000000 +06:00 SCOTT@O102> --EXTRACT - действие, как и для прочих DATETIME типов данных SCOTT@O102>col hour for 9999 SCOTT@O102>col min for 999 SCOTT@O102>col sec for 90.999999999 SCOTT@O102>with t as (select to_time('01.02.03.123456789','hh24.mi.ssxff') tm 2 from dual) 3 select extract (hour from tm) hour, 4 extract (minute from tm) min, 5 extract (second from tm) sec 6 from t 7 / HOUR MIN SEC ----- ---- ------------- 1 2 3.123456789 SCOTT@O102> --TO_CHAR - аналогична TO_CHAR (datetime) SCOTT@O102>col tm for a20 SCOTT@O102>select to_char(current_time,'hh-mi AM "TZ" TZH:TZM') tm from dual; TM -------------------- 09-06 PM TZ +06:00



Содержание раздела