Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.13;
Скачать: CL | DM;

Вниз

Вопрос по функциональности SQL в интербейсе   Найти похожие ветки 

 
Эстет ©   (2007-09-04 16:34) [0]

Ув. мастера! Возник вопрос по поводу того, как в интербейсе извратиться, чтобы получить что-то вроде функции NVL в оракле.
Т.е. напр., имеем запрос

select (field_1 - field_2) as field from table

и если у нас один из филдов есть NULL, то и результат будет NULL. Нужно, чтобы NULL заменялся на дефолтовое значение, напр., на 0.

В оракле это можно написать след. образом:
select (nvl(field_1, 0) - nvl(field_2, 0)) as field from table

Если кто знает как решается вопрос в интербейсе, подскажите, пожалуйста. Спасибо.


 
turbouser ©   (2007-09-04 16:39) [1]

coalesce - подробности в папке \firebird\doc\sql.extensions\


 
Эстет ©   (2007-09-04 16:50) [2]

\firebird\doc\sql.extensions\ - эта папка где? Если в папке с установленным файрбердом, то у меня ее нет :-(. Firebird 1.0


 
Desdechado ©   (2007-09-04 16:53) [3]

Можно использовать простенькую UDF
{----- заменить null на дробный ноль -----}
{ DECLARE EXTERNAL FUNCTION NullDouble
         DOUBLE PRECISION
         RETURNS DOUBLE PRECISION BY VALUE
         ENTRY_POINT "fn_NullDouble" MODULE_NAME "ib_fv";
}
function fn_NullDouble( var f: Double ): Double; cdecl; export;
begin
 result := f;
end;


 
Johnmen ©   (2007-09-04 17:15) [4]


> Firebird 1.0

Давно пора освежиться. И использовать turbouser ©   (04.09.07 16:39) [1]


 
Эстет ©   (2007-09-04 17:50) [5]

Так и сделал. Скачал версию 2.0.2. Спасибо. Почитал в документации - много новых возможностей. Надеюсь, при переходе с 1.0 траблов не будет :)


 
лолкин   (2007-09-04 19:12) [6]

>>Скачал версию 2.0.2.

Выбрось каку. Там неприятный глюк с EXECUTE STATEMENT
возьми 2.0.1 или подожди 2.0.3 (он скоро выйдет)


 
Desdechado ©   (2007-09-04 19:42) [7]

> Там неприятный глюк с EXECUTE STATEMENT
Думаю, автору фиолетово. В 1.0 все равно такого не было.


 
Turbouser ©   (2007-09-04 20:44) [8]

> [6] лолкин   (04.09.07 19:12)

EXECUTE STATEMENT вообще весьма сомнительная штука.


 
Johnmen ©   (2007-09-04 22:41) [9]


> Надеюсь, при переходе с 1.0 траблов не будет :)

Вполне могут быть. Читать про миграцию на ibase.ru



Страницы: 1 вся ветка

Текущий архив: 2008.01.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
2-1197821972
malyar
2007-12-16 19:19
2008.01.13
использование TMemo.Lies.Objects


6-1177322028
Ypbi4
2007-04-23 13:53
2008.01.13
ClientSocket -- получение ответа на запрос


6-1178027712
denissoft
2007-05-01 17:55
2008.01.13
программно отключить соединение по локальной


15-1197196071
Kostafey
2007-12-09 13:27
2008.01.13
С днем рождения ! 9 декабря


2-1197405115
San1
2007-12-11 23:31
2008.01.13
аргумент функции