![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос [D6, FireBird]
_toltec © (2003-03-13 11:10:00)FireBird
Есть таблица
create table TEST
(
F1 varchar(10),
F2 Integer
);
в ней данные
F1 F2
test1 10
test1 null
пишу запрос
select F1, F2 from Test
where (F1 = :PF1) and (F2 = :PF2);
1. PF1 = test1 и PF2 = 10
все нормально
2. PF1 = test1 и PF2 = null
ничего невозращает
Объясните пожалуйста почему во втором случает ничего невозращат.
zacho (2003-03-13 13:29:00) [1]
> _toltec (13.03.03 13:15)
> А если не текст тогла что ?
Ну 0, например, в общем, то, что ты будешь интерпретировать как пустое значение
_toltec (2003-03-13 13:15:00) [2]А если не текст тогла что ?
DarkGreen (2003-03-13 13:06:00) [3]Если у тебя в блобе текс, то присваивай пустую строку
_toltec (2003-03-13 11:41:00) [4]А если это Блоб - поле то что тогда присваевать по умолчанию?
Anatoly Podgoretsky (2003-03-13 11:41:00) [5]_toltec (13.03.03 11:10)
Потому, что не выполнено второе условие (F2 = :PF2)
DarkGreen (2003-03-13 11:38:00) [6]2 Соловьев © (13.03.03 11:32)
Ну да, так можно, только в данном случае, это изврат, ИМХО :-)
DarkGreen (2003-03-13 11:36:00) [7]> А если без is Null
Ни как.
1. Почитай на ibase.ru про логику работы IB с NULLABLE полями, и про то, что их не советуют использовать
2. Cоздавай все поля в таблицах какnot null default ЧТО_ТО, тогда не придется извращаться с запросами.
Соловьев (2003-03-13 11:32:00) [8]F1 - join(Left, Right)
_toltec (2003-03-13 11:29:00) [9]А если без is Null
Соловьев (2003-03-13 11:12:00) [10]
> 2. PF1 = test1 и PF2 = null
is NULL