![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Order By TimeField [D5, dBase, FoxPro]
R@nger © (2003-04-25 11:07:00)Приветствую в очередной раз :)) мастеров Delphi! И в очередной же раз прошу помощи.
Есть некоторый запрос:
select N_Brik,Date_Vibor,Time_Vibor,Sum(pm) as pm,Sum(pl) as pl
from Test
where Empty=False
Group by N_Brik,Date_Vibor,Time_Vibor
Так вот: мне надо отсортировать этот запрос по дате/времени (поля Date_Vibor,Time_Vibor). Добавляю строку Order By Date_Vibor,Time_Vibor.
Получаю примерно следующее:
17.04.03 10:00:20
17.04.03 12:22:30
17.04.03 2:00:00
17.04.03 5:30:06
Хотя нужно:
17.04.03 2:00:00
17.04.03 5:30:06
17.04.03 10:00:20
17.04.03 12:22:30
Как это можно(ли?) сделать?
Заранее tnx
ProgMan (2003-04-25 11:23:00) [1]Так
order by
или
group by
В теме одно, в запросе другое...
А что в коде вообще страшно представить... ;-)
Desdechado (2003-04-25 11:22:00) [2]опс! Anatoly Podgorestky (25.04.03 11:18) опередил :)
Desdechado (2003-04-25 11:20:00) [3]в dBase нет поля типа время, насколько я знаю (версия не указана). Поэтому заполняется, видимо, символьное поле, а оно сортируется по символьным правилам. Если хочешь корректную "а-ля время" сортировку, добавляй спереди нули, т.е. Johnmen © (25.04.03 11:13)
Anatoly Podgorestky (2003-04-25 11:18:00) [4]В dBase нет полей типа Time!!!
Кроме того явно видно, что у тебя поле Time_Vibor явно строкового типа, поэтому сортируется верно, в соответствии с правилами сортировки строковых полей. Но еще в школе учили, что в данном случае время надо представлять как 00:00:00, а ты почему то как 0:00:00, а вот минуты и секунды ты так почему не представляешь, а можно.
Соловьев (2003-04-25 11:13:00) [5]просто у тебя
"14:00:00 AM" преобразовывается в "2:00:00 PM"
Johnmen (2003-04-25 11:13:00) [6]1. Правильно определить тип поля Time_Vibor
2. Правильно его заполнять