![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
[Oracle] fields not is null
McSimm2 © (2003-07-31 09:55:00)
Можно как нибудь в секции where указать условие на неравенство null сразу нескольких полей ??
Что то типа (field1 and field2 and ...) not is null
Sergey13 (2003-08-01 08:17:00) [1]
2VAleksey © (31.07.03 18:29)
>Так ить, а если не сам таблицы делал,
Ну и что? Добавить значение по умолчанию то можно и на готовой заполненой таблице. И проапдейтить. Тут даже не нужно DBA прав, только права на схему(ы). Тем более, что как раз в этом случае не нужно приложения переписывать.
> а их много :о)
Тем более надо 1 раз сделать, что бы потом при каждом запросе не напрягать понапрасну сервак. Серверы любить надо, и береч. 8-)
VAleksey (2003-07-31 18:29:00) [2]
> Sergey13 © (31.07.03 17:31)
Так ить, а если не сам таблицы делал, а их много :о)
;-)
Sergey13 (2003-07-31 17:31:00) [3]
2VAleksey © (31.07.03 12:28)
>NVL - классная функция :-)
Кто бы сомневался. 8-) Но вот частое ее использование говорит о непродуманности структуры таблиц. О чем я писал выше. 8-(
Eduard (2003-07-31 13:01:00) [4]
А чем тебя мой вариант не устроил, тот же самый результат, что и ты хотел (field1 and field2 and ...) not is null
VAleksey (2003-07-31 12:28:00) [5]
NVL - классная функция :-)
Sergey13 (2003-07-31 10:25:00) [6]
Да, если все поля могут быть нулами. Иначе только к тем которые могут.
Могу посоветовать переделать структуру таблиц установив 0 для полей по умолчанию. После этого проапдейтить старые записи
update table
set pole=0
where pole is null
Естественно если все это позволяет логика работы. Хотя ID обычно не суммируют, для остальных по логике обычно NULL=0.
Это будет более правильно и навека. 8-)
McSimm2 (2003-07-31 10:11:00) [7]
Sergey13 © (31.07.03 10:08)
select sum(nvl(field1,0)+nvl(field2,0)) ... ?
Sergey13 (2003-07-31 10:08:00) [8]
Применить ф-ю NVL(field,0)
McSimm2 (2003-07-31 10:03:00) [9]
Значит нельзя, ну ладно ...
Тогда параллельно ещё вопрос.
Если мне нужно посчетать сумму по нескольким полям, а значение одного из полей может быть null. Т.е. 1+2+3+null равнялось всё таки 6, а не null в результате. Как организовать такую проверку ?
Eduard (2003-07-31 10:00:00) [10]
В ИБ и SQL
Where (Field1 is not null) And (Field2 is not null)...