Този урок ще ви даде бърз метод за извличане на текущата дата без време с помощта на функцията current_date на Oracle.
Функция Oracle CURRENT_DATE
Както подсказва името, тази функция връща текущата дата, използвайки часовата зона, посочена в текущата сесия.
Функцията връща стойността на датата в григорианския календар с тип ДАТА ДАТА. Синтаксисът е както е показано по-долу:
ТЕКУЩА ДАТА;
Въпреки че това е относително проста функция, тя може да ви спести тонове изчисления във вашата база данни.
Той може бързо да вмъква стойности за дата в колона, което ви позволява да регистрирате, когато се появи команда за вмъкване, актуализиране или изтриване във вашата база данни.
Стойността на датата се управлява от часовата зона, зададена в текущата сесия. В Oracle стойността на часовата зона на сесията се определя от параметъра TIME_ZONE. Можете да промените тази стойност, за да промените часовата зона за вашата сесия.
Илюстрация за използване на функция
Въпреки че функцията е проста и лесна за разбиране, нека предоставим няколко примера, демонстриращи как работи функцията.
SELECT CURRENT_DATE FROM dual;
Горната заявка трябва да върне текущата дата въз основа на избраната часова зона като:
CURRENT_DATE|------------+
2023-01-01|
Форматиране на стойността на датата
Можете да предадете стойността на функцията current_date към функцията char, за да я форматирате в желания от вас формат.
Пример е както е показано:
SELECT TO_CHAR(CURRENT_DATE, 'DD-MM-YYYY') AS D FROM dual;В този случай функцията to_char() ще преобразува текущата дата във формат ДД-ММ-ГГГГ, както е показано:
D |----------+
01.01.2023 г.|
За да конвертирате датата в дълъг формат:
D |------------------------+
Неделя, 01 януари 2023 г.|
Други поддържани формати за дата включват:
Oracle Промяна на часовата зона на сесията
За да зададете различна часова зона за текущата си сесия, използвайте командата ALTER SESSION SET, както е показано по-долу:
ALTER SESSION SET time_zone = '-5:0';ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
След това можете да изберете текущата дата за избраната часова зона като:
SELECT CURRENT_DATE FROM dual;Изход:
CURRENT_DATE|------------+
31.12.2022|
Заключение
С помощта на това ръководство научихте как да използвате функцията current_date в Oracle за бързо извличане на текущата дата от часовата зона на текущата сесия.