Вниз
Скачать: CL | DM;

как в Firebird узнать количество дней в месяце?   Найти похожие ветки 

 
zorik ©   (2009-01-24 12:02) [0]

Приходят идеи перебора (28,29,30,31) или как-то от следующего месяца отнять один день...


 
zorik ©   (2009-01-24 14:20) [1]

решил с помощью ХП

         m = (extract (month from zdate));
         y = (extract (year from zdate));
         m = m + 1;
         if (m > 12) then
         begin
           m = 1;
           y = y1 + 1;
         end
         date2 = cast("1."||m||"."||y as date) - 1;


 
Виталий Панасенко   (2009-01-24 14:21) [2]

Вообще-то, формат даты  -ГГГГ-ММ-ДД


 
zorik ©   (2009-01-24 14:28) [3]

http://delphimaster.net/view/3-1230191328/


 
Виталий Панасенко   (2009-01-24 14:40) [4]


> zorik ©   (24.01.09 14:28) [3]

И?


 
zorik ©   (2009-01-24 14:54) [5]

Работает двумя способами


 
Johnmen ©   (2009-01-24 19:41) [6]

из фака:
<количество дней в месяце даты YourDate> =
==========================================
EXTRACT(DAY FROM
CAST("01."||EXTRACT(MONTH FROM TmpDate)||"."||
EXTRACT(YEAR FROM TmpDate) AS DATE) - 1);
где
TmpDate =
CAST("01."||EXTRACT(MONTH FROM YourDate)||"."||EXTRACT(YEAR FROM YourDate) AS DATE) + 32;

соответственно подумав, можно получить с -1 к количеству дней в месяце.


 
makz   (2009-01-25 15:17) [7]

в fb2.1 есть dateadd, c ним проще.


 
Труп Васи Доброго ©   (2009-01-26 16:54) [8]

если FB 2.1, то проще так
select DATEDIFF(day,cast("01.02.2008" as date), cast("01.03.2008" as date)) from rdb$database;
автоматически учитывает високосность года



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
2-1258550783
dik
2009-11-18 16:26
2010.01.10
Еще раз об отладчике


2-1258233401
Proton
2009-11-15 00:16
2010.01.10
TMediaPlayer in Thread


10-1162211576
Max Ivanych
2006-10-30 15:32
2010.01.10
Защита диапазона ячеек в Excel


8-1202382479
DVM
2008-02-07 14:07
2010.01.10
Детектор расфокусированного изображения.


2-1258470769
valussev@mail.ru
2009-11-17 18:12
2010.01.10
ошибка при запуске с другого пк




   Наверх