Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-1098870412
LAndreyV
2004-10-27 13:46
2004.11.21
перенос из Excel в dbf


11-1081961840
Delphi5.01
2004-04-14 20:57
2004.11.21
Application.ProssesMessage в KOL?


6-1095340446
ИванКа
2004-09-16 17:14
2004.11.21
Как передать звук по сети?


14-1099403744
Hint
2004-11-02 16:55
2004.11.21
IIS Lockdown Tool


1-1099939023
Alan
2004-11-08 21:37
2004.11.21
Программа для чтения!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский