pb6與pb9的sql解析各不同

2021-04-30 09:09:25 字數 1495 閱讀 6801

//資料視窗中的sql

select *

from inp_reg_rcpt_no_rec 

where (( inp_reg_rcpt_no_rec.casher_no = :as_operator ) or

( inp_reg_rcpt_no_rec.win_no = :as_win_no )) and 

( inp_reg_rcpt_no_rec.using_status <> '停用' )  

order by inp_reg_rcpt_no_rec.provide_date desc  

//pb9的解析

select *

from inp_reg_rcpt_no_rec 

where ( ( inp_reg_rcpt_no_rec.casher_no = :as_operator ) or

( inp_reg_rcpt_no_rec.win_no is null ) ) and 

( inp_reg_rcpt_no_rec.using_status <> '停用' )  

order by inp_reg_rcpt_no_rec.provide_date desc;

:as_operator = '0180'

//pb6的解析

select *

from inp_reg_rcpt_no_rec 

where ( ( inp_reg_rcpt_no_rec.casher_no = :as_operator ) or

( inp_reg_rcpt_no_rec.win_no = :as_win_no ) ) and  

( inp_reg_rcpt_no_rec.using_status <> '停用' )  

order by inp_reg_rcpt_no_rec.provide_date desc;

:as_operator = '0180'

:as_win_no =

顯而易見,出現的問題:當win_no的; 值為空時,pb9的解析包括了這部分結果集,而pb6的解析括了這部分結果集,為了清晰明確sql和所提的資料,將sql語句改為:

select *

from inp_reg_rcpt_no_rec 

where

( ( inp_reg_rcpt_no_rec.casher_no =  nvl (:as_operator,inp_reg_rcpt_no_rec.casher_no) ) or

( inp_reg_rcpt_no_rec.win_no = nvl(:as_win_no,inp_reg_rcpt_no_rec.win_no )

) ) and  

( inp_reg_rcpt_no_rec.using_status <> '停用' )  

order by inp_reg_rcpt_no_rec.provide_date desc;

:as_operator = '0180'

:as_win_no =

關於PB9按周取值

delete from ll temp commit ll num daysafter date rundate1 date rundate2 得到兩個日期區間有多少天 iii 1 ll date rundate1 ll num ll num 1 for i 1 to ll num step 1 i...

PB9阿里大於發簡訊

s sendunm 130123456789,138123456789 sms free sign name qqqq 審核通過的簽名 此 有乙個引數,如果簡訊模板不帶引數也能傳送成功 sms param name i time sms param value 11 sms template cod...

使用pb9呼叫webservices的注意事項

1.webservices使用c 開發,用pb9呼叫 2.object,dataset等等型別不能使用,如果使用了在解析wsdl的時候就過不了 3.如果能解析wsdl,選擇埠的時候選擇soap 4.匯入檔案pbsoapclient90.pbd,否則不能使用soapconnection 5.編譯生成s...