Функция Oracle TO_CHAR (дата / время)
Описание
Функция TO_CHAR (datetime) используется для преобразования значения типа datetime или интервала типа данных DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE или TIMESTAMP WITH LOCAL TIME ZONE в значение типа данных VARCHAR2 в указанном формате.
Синтаксис:
TO_CHAR ({datetime | интервал} [, fmt [, 'nlsparam']])
Параметры:
название | Описание |
---|---|
дата и время | интервал | Дата или число, которое будет преобразовано в строку. |
FMT (Необязательный) | Формат, который будет использоваться для преобразования значения в строку. Если формат (fmt) отсутствует, тогда дата преобразуется в значение VARCHAR2 следующим образом:
|
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 программирования