Текуща дата на Oracle

Tekusa Data Na Oracle



Този урок ще ви даде бърз метод за извличане на текущата дата без време с помощта на функцията 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 за бързо извличане на текущата дата от часовата зона на текущата сесия.