Главная страница
    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.036 c
14-1099576030
Comp
2004-11-04 16:47
2004.11.21
Win Gate 3.0


3-1098622927
ewgenij
2004-10-24 17:02
2004.11.21
ADOConnection и пакеты


1-1099642881
КиТаЯц
2004-11-05 11:21
2004.11.21
MS Excel + Delphi открытие файла (формат ячеек)


14-1099563938
k@rt_
2004-11-04 13:25
2004.11.21
Отказано в доступе.


4-1097249553
pirate
2004-10-08 19:32
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский