Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
15-1196971356
shaman
2007-12-06 23:02
2008.01.13
тормоза под Win2003


2-1197902556
авыф
2007-12-17 17:42
2008.01.13
план выполнения запроса oracle


15-1196067535
vajo
2007-11-26 11:58
2008.01.13
Подскажите, какой принтер выбрать?


2-1197710104
петрович07
2007-12-15 12:15
2008.01.13
курсор в пределах формы


2-1197876848
Alex8
2007-12-17 10:34
2008.01.13
Null




   Наверх