Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2015, 04:37   #1
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию Firebird. Перечислить даты указанного месяца

Подскажите пожалуйста как в Firebird перечислить даты указанного месяца и года, например,
Код:
SELECT [ВСЕ ДАТЫ МЕСЯЦА] WHERE [МЕСЯЦ = 01{январь}] AND [ГОД = 2015]
tarakan1983 вне форума Ответить с цитированием
Старый 23.01.2015, 06:44   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

первое что пришло в голову сделать хранимку
в цикле
с помощью
EXTRACT(YEAR FROM CURRENT_DATE)
EXTRACT(MONTH FROM CURRENT_DATE)
EXTRACT(DAY FROM CURRENT_DATE)
Первый день узнать месяца и +1 пока месяц не поменяется

ещё тут можно почитать http://www.sql.ru/faq/faq_topic.aspx?fid=115
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 23.01.2015, 07:40   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

tarakan1983, а почему именно в огнептице?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2015, 10:49   #4
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

BARNEY, спасибо.
Stilet, нужно вывести на печать график вождения автомобиля, использую fastreport и crostab. Для визуализации используется StringGrid. По сохранению strtigrida цикл пробегает по сетке и где есть записи о вождении, тогда сохраняет в таблице, а где нет, не сохраняет, а при печати надо вывести все даты, включая воскресенья и субботы.
Все подробности описать не могу, это надо показывать в картинках. Если интересно, то могу все описать.
P.S. Может кому понадобиться
Код:
WITH RECURSIVE T (BYDATE, ENDDATE)
AS (SELECT
        DATE '01.01.2015',
        DATEADD(1 MONTH TO DATE '01.01.2015')
    FROM
        RDB$DATABASE
    UNION ALL
    SELECT
        DATEADD(1 DAY TO BYDATE),
        ENDDATE
    FROM
        T
    WHERE DATEADD(1 DAY TO BYDATE) < ENDDATE)
SELECT
    BYDATE
FROM
    T
tarakan1983 вне форума Ответить с цитированием
Старый 23.01.2015, 10:54   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Ну я бы наверное такое на клиенте считал...
Хотя ты наверное правильно делаешь, если СУБД как серверная стоит, то это спасет от неверно настроенных часов на клиенте. А если СУБД локальная... ИМХО БД нагружать этим нет смысла.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос месяца из даты uaol_kolia БД в Delphi 2 13.06.2014 10:17
Закрасить ячейки с указанной даты до конца месяца KORT Microsoft Office Excel 11 05.12.2011 20:31
вычисление даты, на которую приходится первая среда месяца Святой Дьявол Microsoft Office Excel 4 26.10.2011 16:11
Запись даты в FireBird Lokos БД в Delphi 11 23.06.2010 07:53
Проверка даты. Firebird artemavd БД в Delphi 10 18.10.2009 20:14