2015-07-16 7 views
-1

Мне нужен запрос, чтобы показать 24 часа в текущей дате, хотя данных нет в базе данных.Показать 24 часа в сутки

Например, SELECT TO_CHAR(yoh.createts, 'YYYY-MM-DD HH24') AS SysHour, он тянет час до текущего времени, мне нужны полные 24 часа, даже данных нет в базе данных.

Если я запустил этот запрос в 13:00, он доставит отчет от 00,01 ... 13, но мне нужно от 00,01,02,03 .... 22,23.

+1

Какая СУБД вы используете? Postgres? Oracle? –

+0

@a_horse_with_no_name: Oracle –

+0

Я точно не понимаю, что вы хотели бы сделать, но это дает вам представление: 'SELECT TO_CHAR (SYSDATE, HH24: MI: SS ') FROM dual;' – Tenzin

ответ

0

Я не совсем получить то, что вы хотели бы сделать, но это даст вам представление:
SELECT TO_CHAR(SYSDATE, HH24:MI:SS') FROM dual;

или дата со временем:
SELECT TO_CHAR(SYSDATE, 'YYYY, MONTH DD, HH24:MI:SS') FROM Dual;

+0

Если вы запустите этот запрос , он дает только текущее время. SELECT TO_CHAR (SYSDATE, 'HH24: MI: SS') FROM dual. Мне нужен запрос, чтобы дать результат, как 2015-07-16 00, 2015-07-16 01 2015-07-16 02 .................... 2015- 07-16 21, 2015-07-16 22, 2015-07-23 –

+0

Думаю, вам стоит взглянуть на 'SYSDATE'. С этим вы можете запросить базу данных, дату и время, и вывести их так, как вам хотелось бы. Каждая база данных (как каждый компьютер) знает, какая дата и время она есть. – Tenzin

2

Этот иерархический запрос показывает все часы для текущей даты:

select to_char(trunc(sysdate) + (level-1)/24, 'YYYY-MM-DD HH24') AS SysHour 
    from dual connect by level <= 24 

SQLFiddle

Возможно, вам понадобится left join ваш существующий запрос.

+0

@ Ponder Stibbons, Спасибо, это работает на меня. –

+0

Шива, подумайте о принятии этого ответа. См. Https://stackoverflow.com/help/someone-answers –

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