C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
работа с датой. разбивка года по кварталам.
ururu_23
  Отправлено: 04.02.2005, 23:03


Не зарегистрирован







Доброго времени суток народ...

Будте добры подскажите как можно сделать следующее.
Есть база в ней столбец с датой чего либо (не важно).
и нужно по условию выбрать к какому кварталу относится эта дата чтобы потом отобразить в виде графика поквартально.
как проще всего сделать данное сравнение?
(с графиками разобрался )
заранее благодарен smile.gif
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 это и есть "как можно проще" smile.gif

В вашем случае почему не написать так:
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. Это можно вставить в вычисляемое поле.

Вернуться в Работа с базами данных в C++Builder