Запрос «выбрать год из двойного» в 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. В зависимости от вашего конкретного варианта использования и требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям.