Страница 1 из 1

сложение с null в хп

Добавлено: 26 июл 2006, 11:58
mdfv
Тупняк напал.
Как сложить число с null?

все переменные в процедуре numeric(18,2).

Код: Выделить всё

sum1=0;
 for select summa from tablica
 into :summa
 do
 begin 
 sum1=sum1+cast(summa as numeric(18,2));
 suspend; /*summa*/
 end
в итоге получается sum1 равно null, если одна из summa=null.

без IIF(summa is null,0,summa) тут можно обойтись?

Добавлено: 26 июл 2006, 12:30
dimitr
RTFM coalesce. Без функций тут обойтись не удастся.

хотя интересно, а чем "select sum(summa) from tablica" не угодил?

Добавлено: 26 июл 2006, 13:45
Merlin
dimitr писал(а):RTFM coalesce. Без функций тут обойтись не удастся.

хотя интересно, а чем "select sum(summa) from tablica" не угодил?
Да всё тем же. Это тоже FM, а к ним народ испытывает острую личную неприязнь.

Добавлено: 26 июл 2006, 14:10
mdfv
Спасибо. про коалу совсем забыл. :oops:
dimitr писал(а):хотя интересно, а чем "select sum(summa) from tablica" не угодил?
Это я для упрощения написал.

на самом деле тут execute statement into используется + инсерты и апдейты ,
текст описания полей и условий которого в цикле вытаскивается из другой справочной таблицы, и там может быть все что угодно.

Re: сложение с null в хп

Добавлено: 05 авг 2006, 16:19
Фанис
mdfv писал(а):Тупняк напал.
Как сложить число с null?

все переменные в процедуре numeric(18,2).

Код: Выделить всё

sum1=0;
 for select summa from tablica
 into :summa
 do
 begin 
 sum1=sum1+cast(summa as numeric(18,2));
 suspend; /*summa*/
 end
в итоге получается sum1 равно null, если одна из summa=null.

без IIF(summa is null,0,summa) тут можно обойтись?
for select summa from tablica where summa is not null
into :summa