Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по функциональности 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
15-1196892873
Malik
2007-12-06 01:14
2008.01.13
Debug er


2-1197374227
deras
2007-12-11 14:57
2008.01.13
Какое условие прописать в BeforPost?


9-1164915039
sat
2006-11-30 22:30
2008.01.13
пятнашки


2-1197525966
Uno-84
2007-12-13 09:06
2008.01.13
Проблема при записи в таблицу


2-1197880453
Fran
2007-12-17 11:34
2008.01.13
Дата прописью на калмыцком языке





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