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

2 GMarina
http://www.volny.cz/iprenosil/interbase/ip_ib_code_timestamp.htm
...
Рейтинг: 0 / 0
Количество дней в месяце или последний день месяца
    #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
Количество дней в месяце или последний день месяца
    #34065969
jack128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G. jack128написать соответствующую udf. Можно конечно и на sql (вычесть 1 из первого дня следующего месяца) но сие есть ненужный геморМне все- таки кажется, что вычитание единицы легче чем написание udf...
Ну не знаю. ИМХО подобный околоматематический код на sql писать - это как то.. Противоестественно, чтоли.
...
Рейтинг: 0 / 0
Количество дней в месяце или последний день месяца
    #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
Период между сообщениями больше года.
Количество дней в месяце или последний день месяца
    #38090769
FSM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select (ADDMONTH(cast(:data as timestamp),1)-cast(:data as timestamp)) from rdb$database
вот отличный вариант только для входящей даты указывать первое число (01.MM.YYYY) и все отлично считает
...
Рейтинг: 0 / 0
Количество дней в месяце или последний день месяца
    #38090779
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FSM,

Вот беда, за 8 лет с последнего сообщения в FB не появилось функции ADDMONTH.
А с помощью самописной можно и за одну операцию сделать.
...
Рейтинг: 0 / 0
Количество дней в месяце или последний день месяца
    #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
Количество дней в месяце или последний день месяца
    #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
Период между сообщениями больше года.
Количество дней в месяце или последний день месяца
    #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
Количество дней в месяце или последний день месяца
    #39468082
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сдается мне по сабжу выяснили уже решительно все, за сим зачищено и закрыто.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Количество дней в месяце или последний день месяца
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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