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

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
mdfv
Сообщения: 119
Зарегистрирован: 23 май 2006, 15:53

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

Сообщение mdfv » 26 июл 2006, 11:58

Тупняк напал.
Как сложить число с 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) тут можно обойтись?

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 26 июл 2006, 12:30

RTFM coalesce. Без функций тут обойтись не удастся.

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

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 26 июл 2006, 13:45

dimitr писал(а):RTFM coalesce. Без функций тут обойтись не удастся.

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

mdfv
Сообщения: 119
Зарегистрирован: 23 май 2006, 15:53

Сообщение mdfv » 26 июл 2006, 14:10

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

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

Фанис
Сообщения: 17
Зарегистрирован: 16 июн 2005, 19:28

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

Ответить