SQL-запрос для извлечения года с даты

Я пытаюсь создать запрос, который получает только select ASOFDATE из PSASOFDATE; из выбранных дат. Т.е. 11/15/2012возвращается 2012, но я хочу только YEAR. Как я могу получить только SELECT YEAR ( ASOFDATE ) FROM PASOFDATE ? Я знаю, что функция может быть использована, но я не уверен, как это сделать. YEAR

sql,oracle,toad,peoplesoft,

5

Ответов: 5


-1 принято
SELECT YEAR(STR_TO_DATE(ASOFDATE, '%d-%b-%Y')) FROM PSASOFDATE

Отредактировано: в любом случае, если ваша дата является строкой, давайте преобразуем ее в правильный формат даты. И выберите год из этого.

SELECT EXTRACT (TO_DATE(YEAR, 'MM/DD/YY') FROM ASOFDATE) FROM PSASOFDATE;

Поскольку вы пытаетесь использовать жабу, вы можете проверить следующий код:

SELECT EXTRACT(YEAR FROM ASOFDATE) FROM PSASOFDATE;

Ссылка:


18 ов

Это сработало для меня:

SELECT TO_CHAR(ASOFDATE, 'YYYY') FROM PSASOFDATE

12 ов

Как насчет этого?

YEAR

2

просто передайте columnName как параметр YEAR

SELECT YEAR(ASOFDATE) from PSASOFDATE;

другой - использовать DATE_FORMAT

SELECT DATE_FORMAT(ASOFDATE, '%Y') from PSASOFDATE;

ОБНОВЛЕНИЕ 1

Я ставлю, что значение является varchar с форматом MM / dd / YYYY, это так,

SELECT YEAR(STR_TO_DATE('11/15/2012', '%m/%d/%Y'));

LAST RESORT, если все запросы не выполняются

использование SUBSTRING

SELECT SUBSTRING('11/15/2012', 7, 4)

В SQL Server вы можете использовать:

SELECT DATEPART(year, ASOFDATE) FROM PSASOFDATE

Однако это не работает на Oracle.

SQL, Oracle, жаба, PeopleSoft,
Похожие вопросы