10 способов получить текущий год в Oracle SQL

Запрос «выбрать год из двойного» в Oracle используется для получения текущего года. Вот несколько способов добиться этого с примерами кода:

Метод 1: использование функции SYSDATE

SELECT TO_CHAR(SYSDATE, 'YYYY') AS year FROM dual;

Способ 2: использование функции ИЗВЛЕЧЕНИЕ

SELECT EXTRACT(YEAR FROM SYSDATE) AS year FROM dual;

Метод 3. Использование функции CURRENT_DATE

SELECT TO_CHAR(CURRENT_DATE, 'YYYY') AS year FROM dual;

Метод 4. Использование функций TRUNC и MONTHS_BETWEEN

SELECT EXTRACT(YEAR FROM TRUNC(SYSDATE)) AS year FROM dual;

Метод 5. Использование функций TO_NUMBER и TO_CHAR

SELECT TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY')) AS year FROM dual;

Метод 6: использование псевдостолбцов CONNECT BY LEVEL и ROWNUM

SELECT TO_CHAR(SYSDATE - ROWNUM, 'YYYY') AS year
FROM dual
CONNECT BY LEVEL <= 1;

Метод 7: использование функций TIMESTAMP и TO_CHAR

SELECT TO_CHAR(TIMESTAMP '2000-01-01 00:00:00', 'YYYY') + (SYSDATE - TRUNC(SYSDATE)) AS year FROM dual;

Метод 8: использование функций ИНТЕРВАЛ и ИЗВЛЕЧЕНИЕ

SELECT EXTRACT(YEAR FROM SYSDATE + INTERVAL '0' YEAR) AS year FROM dual;

Метод 9: использование функций TO_CHAR и REGEXP_REPLACE

SELECT REGEXP_REPLACE(TO_CHAR(SYSDATE, 'YYYY-MM-DD'), '(.{4}).*', '\1') AS year FROM dual;

Метод 10: использование функций TO_CHAR и SUBSTR

SELECT SUBSTR(TO_CHAR(SYSDATE, 'YYYY-MM-DD'), 1, 4) AS year FROM dual;

Это всего лишь несколько примеров того, как получить текущий год в Oracle SQL. В зависимости от вашего конкретного варианта использования и требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям.