ururu_23 |
Отправлено: 04.02.2005, 23:03 |
|
Не зарегистрирован
|
Доброго времени суток народ...
Будте добры подскажите как можно сделать следующее.
Есть база в ней столбец с датой чего либо (не важно).
и нужно по условию выбрать к какому кварталу относится эта дата чтобы потом отобразить в виде графика поквартально.
как проще всего сделать данное сравнение?
(с графиками разобрался )
заранее благодарен |
|
Guest |
Отправлено: 05.02.2005, 11:05 |
|
Не зарегистрирован
|
Читайте верхний пост — указывайте какая база данных !
Можно просто, не выделяя месяца — например для 1 квартала
SQL | SELECT FIELD1 FROM TABLE1 WHERE FIELD2 >= '01.01.04' AND FIELD2 < '01.04.04'
|
Это для любой базы данных.
Кроме того в каждой конкретной базе есть свои функции,
или возможность подключения своих функций, типа ExtractMonth(),
так что указывайте базу данных.
|
|
Guest |
Отправлено: 06.02.2005, 16:51 |
|
Не зарегистрирован
|
доброго времени суток.
База парадокс
использую Table
если не трудно кусок программы можно как нить получить?
как саму дату выдернуть из базы я знаю а вот обработать чем ее?
тока если делать как можно проще...
не используя SQL запросы. |
|
Guest |
Отправлено: 06.02.2005, 16:53 |
|
Не зарегистрирован
|
TDateTime data;
data=Table1->FieldByName("Date")->AsDateTime;
вот как ее дальшеобрабатывать тока не используя SQL??? |
|
AVC |
Отправлено: 07.02.2005, 10:17 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
тока если делать как можно проще...
не используя SQL запросы.
|
Используя SQL это и есть "как можно проще"
В вашем случае почему не написать так:
CODE |
data=Table1->FieldByName("Date")->AsDateTime;
unsigned short d, m, y;
data.DecodeDate(&y,&m,&d);
if (m > 0 && m <= 3) квартал = 1;
else if (m > 3 && m <= 6) квартал = 2;
else if (m > 6 && m <= 9) квартал = 3;
else квартал = 4;
|
PS. Это можно вставить в вычисляемое поле. |
|