![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
sql запрос для поиска, сравнение с null [D7, Access]
s77 © (2005-11-28 17:12:00)здравствуйте.
не знаю как написать чтоб можно было сравнивать нормально с null
select * from table where pole1=: pole1; (или like вместо равно)
в таблице поле1 может быть null соответственно сравнение происходит некорректно
когда работал с oracle там можно было писать
nvl(pole1,1) если поле1 пустое, то оно=1
или decode(pole,null,'0')
я обращаюсь к access c помощью ADO -здесь эти функции не работают
Fay (2005-11-28 17:54:00) [1]2 s77 (28.11.05 17:21) [2]
А isnull (вместо nvl) в Access не работает?
evvcom (2005-11-28 17:54:00) [2]
> когда работал с oracle там можно было писать
> nvl(pole1,1) если поле1 пустое, то оно=1
> или decode(pole,null,'0')
Писать можно, но в таком виде они дают не те условия, что в вопросе. В оракле на "нормальное" равенство (чтобы сравнение null=null давало истину) проверяется только как decode(field, param, 1, 0) = 1. Можно и другие условия написать, но они все длиннее выходят.
s77 (2005-11-28 17:21:00) [3]спасибо все работает
ANB (2005-11-28 17:14:00) [4]where (pole1=: pole1) or (pole1 is null and :pole1 is null)