Главная страница
    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.47 MB
Время: 0.061 c
9-1090255420
ferr
2004-07-19 20:43
2004.11.21
Предлагаю поглядеть игру.


14-1099481328
Mike Kouzmine
2004-11-03 14:28
2004.11.21
Буш победил


3-1097755678
Настенька
2004-10-14 16:07
2004.11.21
сохранение новой ширины колонки


3-1098135004
TechnoDreamer
2004-10-19 01:30
2004.11.21
Реструктуризация базы Access 2000


14-1099645652
КаПиБаРа
2004-11-05 12:07
2004.11.21
Net Send





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский