Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Количество дней в месяце или последний день месяца / 14 сообщений из 14, страница 1 из 1
19.10.2006, 10:53
    #34065740
GMarina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
InterBase.
Как можно узнать количество дней в месяце или
последний день месяца?
...
Рейтинг: 0 / 0
19.10.2006, 10:56
    #34065752
Alexandoros
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
Закатать в таблицу
...
Рейтинг: 0 / 0
19.10.2006, 10:57
    #34065756
jack128
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
написать соответствующую udf. Можно конечно и на sql (вычесть 1 из первого дня следующего месяца) но сие есть ненужный гемор
...
Рейтинг: 0 / 0
19.10.2006, 11:17
    #34065852
Borr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
Меня терзают смутные сомнения - для чего тебе это нужно? Выбрать в селекте все записи за какой-то месяц? Так для этого есть замечательная функция EXTRACT(MONTH FROM [и тут любая дата])
...
Рейтинг: 0 / 0
19.10.2006, 11:27
    #34065892
S.G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
jack128написать соответствующую udf. Можно конечно и на sql (вычесть 1 из первого дня следующего месяца) но сие есть ненужный геморМне все- таки кажется, что вычитание единицы легче чем написание udf...

2 GMarina
http://www.volny.cz/iprenosil/interbase/ip_ib_code_timestamp.htm
...
Рейтинг: 0 / 0
19.10.2006, 11:28
    #34065899
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
Привет, GMarina!
Ты пишешь:

GMarinaG> Как можно узнать количество дней в месяце или
G> последний день месяца? http://www.volny.cz/iprenosil/interbase/ip_ib_code_timestamp.htm

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
19.10.2006, 11:47
    #34065969
jack128
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
S.G. jack128написать соответствующую udf. Можно конечно и на sql (вычесть 1 из первого дня следующего месяца) но сие есть ненужный геморМне все- таки кажется, что вычитание единицы легче чем написание udf...
Ну не знаю. ИМХО подобный околоматематический код на sql писать - это как то.. Противоестественно, чтоли.
...
Рейтинг: 0 / 0
19.10.2006, 11:51
    #34065987
Лентяй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
GMarinaInterBase.
Как можно узнать количество дней в месяце или
последний день месяца?
В FB все очень просто:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select cast (
  case when extract(month from cast (:dt as date)) =  12 
  then '1.1.'||(extract(year from cast (:dt as date)) +  1 )
  else '1.' || (extract(month from cast (:dt as date)) +  1 ) || '.' || (extract(year from cast (:dt as date)))
  end
  as date) -
  cast (
  '1.' || (extract(month from cast (:dt as date))) || '.' || extract(year from cast (:dt as date))
  as date) 
from rdb$database
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
24.12.2012, 14:57
    #38090769
FSM
FSM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
select (ADDMONTH(cast(:data as timestamp),1)-cast(:data as timestamp)) from rdb$database
вот отличный вариант только для входящей даты указывать первое число (01.MM.YYYY) и все отлично считает
...
Рейтинг: 0 / 0
24.12.2012, 15:01
    #38090779
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
FSM,

Вот беда, за 8 лет с последнего сообщения в FB не появилось функции ADDMONTH.
А с помощью самописной можно и за одну операцию сделать.
...
Рейтинг: 0 / 0
24.12.2012, 15:23
    #38090807
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
Начиная с 2.1 вот так можно

Код: sql
1.
2.
SELECT DATEDIFF(DAY FROM CAST(:DATE AS DATE) TO DATEADD(1 MONTH TO CAST(:DATE AS DATE))) AS DAY_PER_MONTH
FROM RDB$DATABASE 
...
Рейтинг: 0 / 0
24.12.2012, 22:00
    #38091215
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create or alter procedure F$DATE$ENDOFTHEMONTH (
    DATE_IN D$DATE not null)
returns (
    DATE_OUT D$DATE not null)
as
BEGIN
  DATE_IN  = DATE_IN - EXTRACT(DAY FROM DATE_IN) + 32;
  DATE_OUT = DATE_IN - EXTRACT(DAY FROM DATE_IN);
  SUSPEND;
END^
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
07.06.2017, 13:50
    #39467828
RoboTehnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
Сначала выясняем первое число месяца выбранной даты, потом прибавляем к нему месяц, потом отнимаем день.

dateadd(day, -1, dateadd(month,1,dateadd(day, extract(day from CAST('02.05.2017' AS DATE))*-1+1, CAST('02.05.2017' AS DATE))))
...
Рейтинг: 0 / 0
07.06.2017, 17:49
    #39468082
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество дней в месяце или последний день месяца
Сдается мне по сабжу выяснили уже решительно все, за сим зачищено и закрыто.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Количество дней в месяце или последний день месяца / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]