看代碼
declare @iid int
select @iid=111
select top 1 @iid=isnull(IID,0) from YYGL_PCDMX where IID=0
print @iid
上面的情況,如果iid=0沒有記錄,則@iid會取111,為了避免這個問題
1、在查詢前,初始化為0
2、查找完成后,再次判斷
修改后,如下
例一
declare @iid int
select @iid=0
select top 1 @iid=isnull(IID,0) from YYGL_PCDMX where IID=0
select @iid=isnull(@iid,0)
print @iid
例二
select @zh=''
select top 1 @zh= ZH
from SBGL_ZHSZ
where ZH not in(select ZH from RYGL_PBRL where RQ=@rq_ord)
order by ZHXH asc
select @zh=ISNULL(@zh,'')