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

Проблема с запросом   Найти похожие ветки 

← →
Киря   (2005-10-08 08:13) [0]

Имеется следующий запрос:
Select * from Operations where (TabNoP=:TabNoP) and (TabNoV=:TabNoV) and (TabNoT=:TabNoT)

причем Поле TabNoT может иметь значение null

И если параметр TabNoT= NULL то в результате получается пустая таблица хотя данные удовлетворяющие условию запроса в таблице есть
В чем причина неработоспособности запроса?
И что нужно сделать что-бы все работало?
Заранее спасибо


← →
DJON   (2005-10-08 09:31) [1]

Если таблица пустая значит один из параметров не удовлетворяет условию
(TabNoP=:TabNoP) and (TabNoV=:TabNoV) and (TabNoT=:TabNoT)
попробуй построить запрос с каждым параметром например:
Select * from Operations where TabNoT=:TabNoT и так далее


← →
Sergey13 ©   (2005-10-08 10:10) [2]

Вмето

and (TabNoT=:TabNoT)

((:TabNoT is Null) and (TabNoT is Null)) or ((:TabNoT is Not Null) and (TabNoT=:TabNoT))


← →
sniknik ©   (2005-10-08 10:39) [3]

> В чем причина неработоспособности запроса?
сравнение null с собой (null = null) не дает положительного результата.
надо проверять дополнительно. т.е.
and (TabNoT=:TabNoT or TabNoT IS NULL)


← →
sniknik ©   (2005-10-08 10:53) [4]

а ну да, тут надо или или. условие Sergey13 ©   (08.10.05 10:10) [2] вернее чем у меня, только параметры  надо разные сделать
или  с одним :
DECLARE @TabNoT INT
SET @TabNoT = :TabNoT

Select .... (@TabNoT is Null and TabNoT is Null) or (@TabNoT is Not Null and TabNoT=@TabNoT)


← →
Fay ©   (2005-10-09 04:29) [5]

create table Test(
Field1 int not null identity primary key,
Field2 varchar(20) null
)
go
insert into Test values("1")
insert into Test values(null)
insert into Test values("2")
insert into Test values(null)
go
set ansi_nulls off
select * from Test where Field2 = null
set ansi_nulls on
go
select * from Test where Field2 = null



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

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



Память: 0.46 MB
Время: 0.023 c
14-1128851569
NewWonder
2005-10-09 13:52
2005.10.30
Первые шаги в Java Script:


3-1127202307
Pil
2005-09-20 11:45
2005.10.30
запись была удалена другим пользователем


6-1120718689
luke
2005-07-07 10:44
2005.10.30
Отправка нескольких сообщений через NMSMTP


8-1117961606
Интеллигент
2005-06-05 12:53
2005.10.30
Примитивный распознаватель речи


14-1128950244
Alexander666
2005-10-10 17:17
2005.10.30
Ремонт ноутбука




   Наверх