кодесурса
«Oracle

Функция Oracle TO_CHAR (дата / время)

script1adsense2code
script1adsense3code

Описание

Функция TO_CHAR (datetime) используется для преобразования значения типа datetime или интервала типа данных DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE или TIMESTAMP WITH LOCAL TIME ZONE в значение типа данных VARCHAR2 в указанном формате.

Синтаксис:

 TO_CHAR ({datetime | интервал} [, fmt [, 'nlsparam']]) 

Параметры:

название Описание
дата и время | интервал Дата или число, которое будет преобразовано в строку.
FMT
(Необязательный)
Формат, который будет использоваться для преобразования значения в строку.
Если формат (fmt) отсутствует, тогда дата преобразуется в значение VARCHAR2 следующим образом:
  • Значения DATE преобразуются в значения в формате даты по умолчанию.
  • TIMESTAMP и TIMESTAMP WITH LOCAL TIME ZONE значения преобразуются в значения в формате отметки времени по умолчанию.
  • TIMESTAMP WITH TIME ZONE Значения преобразуются в значения в временной отметке по умолчанию с форматом часового пояса.
nlsparam Задает язык, на котором возвращаются названия и сокращения месяца и дня.
Этот аргумент может иметь такую форму:
'NLS_DATE_LANGUAGE = язык'

Относится к:
Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Примеры: функция Oracle TO_CHAR (datetime)

В следующем примере используется эта таблица:

CREATE TABLE date_tab (
   ts_col      TIMESTAMP,
   tsltz_col   TIMESTAMP WITH LOCAL TIME ZONE,
   tstz_col    TIMESTAMP WITH TIME ZONE);

В этом примере показаны результаты применения TO_CHAR к различным типам данных TIMESTAMP. Результат для столбца TIMESTAMP WITH LOCAL TIME ZONE чувствителен к часовому поясу сеанса, тогда как результаты для столбцов TIMESTAMP и TIMESTAMP WITH TIME ZONE не чувствительны к часовому поясу сеанса:

 ALTER SESSION SET TIME_ZONE = '- 8:00';
INSERT INTO date_tab VALUES (  
   TIMESTAMP'1999-12-01 10:00:00 ',
   TIMESTAMP'1999-12-01 10:00:00 ',
   TIMESTAMP'1999-12-01 10:00:00 ');
INSERT INTO date_tab VALUES (
   TIMESTAMP'1999-12-02 10:00:00 -8: 00 ', 
   TIMESTAMP'1999-12-02 10:00:00 -8: 00 ',
   TIMESTAMP'1999-12-02 10:00:00 -8: 00 ');
ВЫБЕРИТЕ TO_CHAR (ts_col, 'DD-MON-YYYY HH24: MI: SSxFF') AS ts_date,
   TO_CHAR (tstz_col, 'DD-MON-YYYY HH24: MI: SSxFF TZH: TZM') AS tstz_date
   FROM date_tab
   ORDER BY ts_date, tstz_date;
 
TS_DATE TSTZ_DATE
------------------------------ -------------------- -----------------
01 декабря 1999 года с 10:00 до 00:00 00 01 декабря 1999 года с 10:00 до 00:00 00:00
02 декабря 1999 года с 10:00 до 00:00 00:00 02 декабря 1999 года с 10:00 до 00:00 00:00
ВЫБЕРИТЕ SESSIONTIMEZONE, 
   TO_CHAR (tsltz_col, 'DD-MON-YYYY HH24: MI: SSxFF') AS tsltz
   FROM date_tab
   ORDER BY sessiontimezone, tsltz;
СЕССИОНТИМ ЦЛТЗ
---------- ------------------------------
-08: 00 01-дек-1999 10: 00: 00.000000
-08: 00 02-DEC-1999 10: 00: 00.000000
ALTER SESSION SET TIME_ZONE = '- 5:00';
ВЫБЕРИТЕ TO_CHAR (ts_col, 'DD-MON-YYYY HH24: MI: SSxFF') AS ts_col,
   TO_CHAR (tstz_col, 'DD-MON-YYYY HH24: MI: SSxFF TZH: TZM') AS tstz_col
   FROM date_tab
   ЗАКАЗАТЬ ПО ts_col, tstz_col;
 
TS_COL TSTZ_COL
------------------------------ -------------------- -----------------
01 декабря 1999 года с 10:00 до 00:00 00 01 декабря 1999 года с 10:00 до 00:00 00:00
02 декабря 1999 года с 10:00 до 00:00 00:00 02 декабря 1999 года с 10:00 до 00:00 00:00
ВЫБЕРИТЕ SESSIONTIMEZONE,
TO_CHAR (tsltz_col, 'DD-MON-YYYY HH24: MI: SSxFF') AS tsltz_col
   FROM date_tab
   ORDER BY sessiontimezone, tsltz_col;
  2 3 4
SESSIONTIM TSLTZ_COL
---------- ------------------------------
-05: 00 01-ДЕК-1999 13: 00: 00.000000
-05: 00 02-ДЕК-1999 13: 00: 00.000000

Предыдущий: SYSTIMESTAMP
Далее: TO_TIMESTAMP

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code