Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2012, 14:09   #1
tema654
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 49
Смех не работает is null

Код:
qry1.close;
qry1.SQL.Clear;
qry1.SQL.add('select (sum(id_avto))/(avg(id_avto)) as свободно');
qry1.SQL.add('from stoyanka');
qry1.SQL.add('where (id_avto between 31 and 40) and  (id_avto is null)');
qry1.open
при таком раскаледе не считается ничего, просто пустая запись
а вот is NOT NULL работает. Почему??
tema654 вне форума Ответить с цитированием
Старый 08.01.2012, 14:24   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

id_avto between 31 and 40 и id_avto is null - взаимоисключающие условия и всегда в результате будет 0 записей
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2012, 14:27   #3
tema654
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 49
По умолчанию

что-то вообще я не внимательный...
но при таком случае:
id_avto is null
все равно не выводится
tema654 вне форума Ответить с цитированием
Старый 08.01.2012, 14:32   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А есть ли вообще id_avto is null? Может считаете, что id_avto=0 и id_avto is null это одно и то же?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2012, 14:34   #5
tema654
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 49
По умолчанию

is null - это пустое значение
и таких пустых 30 записей
tema654 вне форума Ответить с цитированием
Старый 08.01.2012, 14:38   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

sum над NULL будет NULL, вот вам и пустая запись
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2012, 21:39   #7
tema654
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 49
По умолчанию

а как мне посчитать кол-во пустых записей?
tema654 вне форума Ответить с цитированием
Старый 08.01.2012, 21:50   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
select count(*) as CountRec from stoyanka where id_avto is null
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2012, 21:52   #9
tema654
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 49
По умолчанию

я посчитал, спасибо!)
tema654 вне форума Ответить с цитированием
Старый 08.01.2012, 21:53   #10
tema654
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 49
По умолчанию

спасибо) также написал ))
tema654 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Устройство NULL qvazar92 Операционные системы общие вопросы 0 02.12.2011 19:35
z is null sedoyksa JavaScript, Ajax 1 02.11.2011 00:36
Не работает CASE для NULL в выборке из view (скриншот внутри Ivan_32 SQL, базы данных 2 12.04.2011 22:16
запрос с is null Ks2010 БД в Delphi 14 22.07.2010 21:50
пробел и NULL Николай Сергеевич Общие вопросы C/C++ 14 22.12.2009 08:48