2014-08-29 3 views
0

Я wan't, чтобы получить номер дня с помощью запроса SQL, но я обнаружил, что получить количество дней с момента 01-01-4712, используя этот запрос:Получить номер запроса день SQL

SELECT TO_CHAR(TRUNC(SYSDATE),'J') FROM DUAL; 

Есть ли другой запрос, который я могу использовать?

+3

'с 01-01-4712'? Доктор Браун, что вы? – DrCopyPaste

+0

Просто «Доктор», спасибо вам большое ... – AHiggins

ответ

0

Использование to_char() для преобразования даты. Маска формата «DDD» возвращает день года.

select to_char(sysdate, 'DDD') from dual; 

select to_char(to_date('1/1/2014', 'MM/DD/YYYY'), 'DDD') from dual; 

Некоторые подробнее о различных форматах: http://www.techonthenet.com/oracle/functions/to_char.php

+0

Спасибо, много это работает – user2425416

0

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

select to_date(sysdate) - trunc(sysdate,'YYYY') from dual 
+0

Я боюсь, что ответ неверен, так как он возвращает вчерашний день в году. Что не так: «выберите to_char (sysdate,« DD ») из двойника; чтобы получить сегодняшний день в году? Поскольку вы используете SYSDATE, я предполагаю, что вы хотите сегодняшний день года? –

Смежные вопросы