Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизКак прибавить к дате несколько месяцев Найти похожие ветки
← →
Rule © (2004-10-21 11:39) [0]FB 1.x значит проблемма в хранимой процедуре надо прибавить пару месяцев, щас я прибавляю так
DT=:MonthCount*30;
но какбы появляется погрешность в вычисленях так как не в каждом месяце то по 30 дней, что можете посоветовать, только убедительная просьба не надо советовать UDF ...
Всем заранее спасибо ...
← →
Johnmen © (2004-10-21 11:55) [1]Разложить дату на год, месяц, день.
Увеличить месяц.
Проверить и, если надо, скорректировать день для получившегося месяца.
Собрать дату.
← →
stud © (2004-10-21 11:56) [2]модуль DateUtils там много интересного
← →
Rule © (2004-10-21 12:12) [3]Johnmen © (21.10.04 11:55) [1]
если не сложно то с помощью чего разложить и собрать ?
stud © (21.10.04 11:56) [2]
это в делфи, а я прошу в Фаерберде, а если вы про УДФ, то в принципе то получилось, но не подходит в ряде политических соображений :)
← →
stud © (2004-10-21 12:18) [4]а передать в процедуру готовый параметр? или есть ограничения?
← →
stud © (2004-10-21 12:20) [5]разложить можно кажется extract
← →
Johnmen © (2004-10-21 12:22) [6]
> Rule © (21.10.04 12:12) [3]
> Johnmen © (21.10.04 11:55) [1]
> если не сложно то с помощью чего разложить и собрать ?
разложить: EXTRACT
собрать: ||
← →
Rule © (2004-10-21 12:22) [7]stud © (21.10.04 12:18) [4]
Все подсчеты ведутся внутри процедуры, и входных параметров нет вообще ...
stud © (21.10.04 12:20) [5]
он помоему входит в состав слекта только, а вот как назад собрать ?
← →
Rule © (2004-10-21 12:28) [8]Johnmen © (21.10.04 12:22) [6]
собрать: ||
так это объединение строковых параметров, или вы имеете ввиду ещё и cast использовать, тогда да ... мда спасибо ..., тогда как мне разложить подсчитаную дату, а не ту которая хранится в таблице ?
во, понял получилось чтото вроде:
Select extract(day from :date_end), extract(month from :date_end), extract(year from :date_end) from rdb$database into :date_end;
всем спасибо :)
← →
Rule © (2004-10-21 12:48) [9]Rule © (21.10.04 12:28) [8]
вернее
Select extract(day from :date_end), extract(month from :date_end), extract(year from :date_end) from rdb$database into :nday, :nmonth, :nyear;
← →
Johnmen © (2004-10-21 13:04) [10]>Rule © (21.10.04 12:28) [8]
>ещё и cast использовать
Не обязательно. Можно использовать неявное преобразование.
day||"."||month||"."||year
← →
Rule © (2004-10-21 13:16) [11]Johnmen © (21.10.04 13:04) [10]
Ну и с cast"ом работает, и так работает, спасибо за информацию...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c