Вниз
Скачать: CL | DM;

[Oracle] fields not is null   Найти похожие ветки 

 
McSimm2   (2003-07-31 09:55) [0]

Можно как нибудь в секции where указать условие на неравенство null сразу нескольких полей ??
Что то типа (field1 and field2 and ...) not is null


 
Eduard   (2003-07-31 10:00) [1]

В ИБ и SQL
Where (Field1 is not null) And (Field2 is not null)...


 
McSimm2   (2003-07-31 10:03) [2]

Значит нельзя, ну ладно ...
Тогда параллельно ещё вопрос.
Если мне нужно посчетать сумму по нескольким полям, а значение одного из полей может быть null. Т.е. 1+2+3+null равнялось всё таки 6, а не null в результате. Как организовать такую проверку ?


 
Sergey13 ©   (2003-07-31 10:08) [3]

Применить ф-ю NVL(field,0)


 
McSimm2   (2003-07-31 10:11) [4]

Sergey13 © (31.07.03 10:08)

select sum(nvl(field1,0)+nvl(field2,0)) ... ?


 
Sergey13 ©   (2003-07-31 10:25) [5]

Да, если все поля могут быть нулами. Иначе только к тем которые могут.
Могу посоветовать переделать структуру таблиц установив 0 для полей по умолчанию. После этого проапдейтить старые записи

update table
set pole=0
where pole is null

Естественно если все это позволяет логика работы. Хотя ID обычно не суммируют, для остальных по логике обычно NULL=0.

Это будет более правильно и навека. 8-)


 
VAleksey ©   (2003-07-31 12:28) [6]

NVL - классная функция :-)


 
Eduard   (2003-07-31 13:01) [7]

А чем тебя мой вариант не устроил, тот же самый результат, что и ты хотел (field1 and field2 and ...) not is null


 
Sergey13 ©   (2003-07-31 17:31) [8]

2VAleksey © (31.07.03 12:28)
>NVL - классная функция :-)
Кто бы сомневался. 8-) Но вот частое ее использование говорит о непродуманности структуры таблиц. О чем я писал выше. 8-(



 
VAleksey ©   (2003-07-31 18:29) [9]


> Sergey13 © (31.07.03 17:31)

Так ить, а если не сам таблицы делал, а их много :о)
;-)


 
Sergey13 ©   (2003-08-01 08:17) [10]

2VAleksey © (31.07.03 18:29)
>Так ить, а если не сам таблицы делал,
Ну и что? Добавить значение по умолчанию то можно и на готовой заполненой таблице. И проапдейтить. Тут даже не нужно DBA прав, только права на схему(ы). Тем более, что как раз в этом случае не нужно приложения переписывать.


> а их много :о)
Тем более надо 1 раз сделать, что бы потом при каждом запросе не напрягать понапрасну сервак. Серверы любить надо, и береч. 8-)



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.013 c
3-81583
sashag
2003-07-30 09:38
2003.08.25
Ошибка при добавлении записи в таблицу Interbase


3-81592
RDA
2003-07-29 17:22
2003.08.25
Проблема с импортом большого числа записей


7-81976
Renard_
2003-06-10 09:20
2003.08.25
Как опросить флаги СОМ порта (DCD,DSR,CTS,RI)


3-81595
Eduard
2003-07-30 18:20
2003.08.25
DBGridEh, D6 And FB-1. Проблема с сохранением информации


3-81593
Asker
2003-07-29 13:32
2003.08.25
Возварщение параметров хранимой процедуры (MSSQL+DBExpress)




   Наверх