PLSQL | CURRENT_DATE, функция
Функция PLSQL CURRENT_DATE используется для возврата текущей даты в часовом поясе сеанса. Используемый часовой пояс - это часовой пояс текущего сеанса SQL, установленный командой ALTER SESSION. Функция PLSQL CURRENT_DATE использует свое значение из григорианского календаря с типом данных DATE.
Функция CURRENT_DATE не принимает параметров.
Синтаксис:
ТЕКУЩАЯ ДАТА
Используемые параметры:
Функция CURRENT_DATE не принимает параметров.
Возвращаемое значение:
Функция CURRENT_DATE возвращает значение даты.
Поддерживаемые версии Oracle / PLSQL:
- Оракул 12c
- Oracle 11g
- Oracle 10g
- Oracle 9i
- Oracle 8i
Пример-1: Использование функции SESSIONTIMEZONE для поиска часового пояса сеанса.
ALTER SESSION SET NLS_DATE_FORMAT = 'ДД-МЕСЯЦ-ГГГГ ЧЧ24: МИ: СС'; ВЫБРАТЬ СЕССИЯTIMEZONE ИЗ ДВОЙНОЙ;
Выход:
Сессия изменена. СЕССИЯTIMEZONE +00: 00
Пример-2: Использование функции CURRENT_DATE для получения текущей даты в часовом поясе сеанса.
ALTER SESSION SET NLS_DATE_FORMAT = 'ДД-МЕСЯЦ-ГГГГ ЧЧ24: МИ: СС'; ВЫБРАТЬ СЕССИЯTIMEZONE ИЗ ДВОЙНОЙ; ВЫБРАТЬ ТЕКУЩАЯ ДАТА ИЗ ДВОЙНОЙ;
Выход:
Сессия изменена. СЕССИЯTIMEZONE +00: 00 ТЕКУЩАЯ ДАТА 22-ОКТ-2019 06:53:58
Пример-3: Использование функции CURRENT_DATE после изменения часового пояса сеанса для получения текущей даты.
ALTER SESSION SET NLS_DATE_FORMAT = 'ДД-МЕСЯЦ-ГГГГ ЧЧ24: МИ: СС'; ВЫБРАТЬ СЕССИЯTIMEZONE ИЗ ДВОЙНОЙ; ALTER SESSION SET TIME_ZONE = '-02: 00'; ВЫБРАТЬ ТЕКУЩАЯ ДАТА ИЗ ДВОЙНОЙ;
Выход:
Сессия изменена. СЕССИЯTIMEZONE +00: 00 Сессия изменена. ТЕКУЩАЯ ДАТА 22-ОКТ-2019 05:05:36
Новая текущая дата была скорректирована примерно на -2 часа, как и ожидалось.