2013-07-17 2 views
0

Я пытаюсь написать SQL-запрос, который будет заказывать только на основе поля времени объекта date-time в Oracle DB. Вот то, что я пробовал:Сортировка по времени часть DateTime

String getPricesQuery = "SELECT * FROM price WHERE SELECTIONID IN (SELECT ID" + 
" FROM selection" + 
" WHERE EVENTID =" + eventID + ") ORDER BY TIME(TIMEOFISSUE) ASC"; 

Я читал, что функция TIME() может быть использована для извлечения времени порции Date-Time, но я предполагаю, что это делает его немного более сложным, при попытке использовать его в ORDER BY пункте ?

+1

Если вы используете Oracle DB, тогда попробуйте 'ORDER BY to_char (TIMEOFISSUE, 'hh24miss')'. Или, может быть, это MySql? –

+0

Функция точно так же, как и любые другие выражения, вы можете использовать функцию везде, где хотите, в предложении SELECT, в ORDER BY, она не имеет значения – krokodilko

+1

@ABCade Не могли бы вы разместить это как ответ, чтобы я мог отметить его как правильно, пожалуйста ? – christopher

ответ

3

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

ORDER BY to_char(TIMEOFISSUE, 'hh24miss') 
-2

ORDER BY TIMEOFISSUE ASC достаточно или убывание вы можете использовать.

+0

Нет, это не то, что нужно OP. Хи не хочет заказывать по времени, но часами, минутами и секундами, не имеющими значения, в какой день они находятся. –

+0

Ок. поэтому AB. Код Кейда поможет. – Ren

+0

Почему бы вам не удалить свой ответ, учитывая, что вы согласны с тем, что это неправильно? –

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