![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как прибавить к дате несколько месяцев
Rule © (2004-10-21 11:39:00)FB 1.x значит проблемма в хранимой процедуре надо прибавить пару месяцев, щас я прибавляю так
DT=:MonthCount*30;
но какбы появляется погрешность в вычисленях так как не в каждом месяце то по 30 дней, что можете посоветовать, только убедительная просьба не надо советовать UDF ...
Всем заранее спасибо ...
Rule (2004-10-21 13:16:00) [1]Johnmen © (21.10.04 13:04) [10]
Ну и с cast'ом работает, и так работает, спасибо за информацию...
Johnmen (2004-10-21 13:04:00) [2]>Rule © (21.10.04 12:28) [8]
>ещё и cast использовать
Не обязательно. Можно использовать неявное преобразование.
day||'.'||month||'.'||year
Rule (2004-10-21 12:48:00) [3]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;
Rule (2004-10-21 12:28:00) [4]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;
всем спасибо :)
Johnmen (2004-10-21 12:22:00) [5]
> Rule © (21.10.04 12:12) [3]
> Johnmen © (21.10.04 11:55) [1]
> если не сложно то с помощью чего разложить и собрать ?
разложить: EXTRACT
собрать: ||
Rule (2004-10-21 12:22:00) [6]stud © (21.10.04 12:18) [4]
Все подсчеты ведутся внутри процедуры, и входных параметров нет вообще ...
stud © (21.10.04 12:20) [5]
он помоему входит в состав слекта только, а вот как назад собрать ?
stud (2004-10-21 12:20:00) [7]разложить можно кажется extract
stud (2004-10-21 12:18:00) [8]а передать в процедуру готовый параметр? или есть ограничения?
Rule (2004-10-21 12:12:00) [9]Johnmen © (21.10.04 11:55) [1]
если не сложно то с помощью чего разложить и собрать ?
stud © (21.10.04 11:56) [2]
это в делфи, а я прошу в Фаерберде, а если вы про УДФ, то в принципе то получилось, но не подходит в ряде политических соображений :)
stud (2004-10-21 11:56:00) [10]модуль DateUtils там много интересного
Johnmen (2004-10-21 11:55:00) [11]Разложить дату на год, месяц, день.
Увеличить месяц.
Проверить и, если надо, скорректировать день для получившегося месяца.
Собрать дату.