乙個奇怪的查詢語句(不知原因)

2021-06-21 11:06:58 字數 1890 閱讀 5873

乙個查詢語句,只是查詢條件值的改變,導致查詢出錯,原因不明,情況如下:

select *

from tb_evt_dlv a, sncn_zd_jg b,tb_evt_mail_clct c

where a.mail_num=c.mail_num

and a.dlv_date = to_date('2013-3-10','yyyy-mm-dd') 

and a.dlv_bureau_org_code =b.zj_code

and a.dlv_bureau_org_code like '230073%'

上面語句可以正常執行,下面這個語句卻報錯:ora-03113

:通訊通道的檔案結束

select *

from tb_evt_dlv a, sncn_zd_jg b,tb_evt_mail_clct c

where a.mail_num=c.mail_num

and a.dlv_date = to_date('2013-3-10','yyyy-mm-dd') 

and a.dlv_bureau_org_code =b.zj_code

and a.dlv_bureau_org_code like '23007300%'

兩個語句的差別就是機構號字段條件值由『230073%』改為『23007300%』,23007300這個機構是存在的,用其他存在的機構或者不存在的機構號都沒有問題,就是這個機構號有問題,用『2300730%』(少乙個0)也會報同樣的錯誤,但是長度短一點,比如『2300%』也可以正常查詢,按說『2300%』的查詢結果應該包含『23007300%』的查詢結果,為甚會報錯呢?

試驗的其他機構比如『23126700%』就沒有問題,但2300開頭的很多機構都不行,比如』23007400%『-』23007800『都會報錯,但是如果這個機構**不存在則不會報錯,比如』23007311%『就不會報錯,只是沒有結果而已,去掉任何乙個表,只用兩個表關聯,同樣的條件也可以正常查詢,真是奇怪。

再次試驗了一下,好像2300xx00這樣結構的機構號都不行,其它沒問題,比如23000115是沒問題的。

繼續試驗發現:

下面這個報錯:

select *

from tb_evt_dlv a, sncn_zd_jg b,tb_evt_mail_clct c

where a.mail_num=c.mail_num

and a.dlv_date = to_date('2014-3-10','yyyy-mm-dd') 

and a.dlv_sts_code='i'

and a.dlv_bureau_org_code =b.zj_code

and a.dlv_bureau_org_code like '23007300%'

但下面這個正常:

select *

from tb_evt_dlv a,tb_jg b,tb_evt_mail_clct c

where a.mail_num=c.mail_num

and a.dlv_date =to_date('2014-3-10','yyyy-mm-dd') 

and a.dlv_sts_code='i'

and a.dlv_bureau_org_code =b.zj_code

and a.dlv_bureau_org_code like '23007300%'

差別在於用了兩個不同的機構表,兩個表結構完全相同,tb_jg的記錄3000多條,包含了sncn_zd_jg表中的記錄(200多條),似乎問題出在表sncn_zd_jg上,但單獨對這個表查詢是沒有問題的,將這個表改名,重建這個表:

create table sncn_zd_jg as select * from tb_jg t where t.zdbz='1'

再次執行原來報錯的語句,錯誤沒有了,那麼那個錶出了什麼問題呢?

乙個簡單的查詢語句

今天要寫乙個查詢語句,寫了半天沒弄出來,最後在同事的幫助下,用group by搞定了。其實蠻簡單的,只是我用資料庫用的太少了,呵呵 物品表 good 欄位為gid 物品id price 物品 和tid 所屬交易id 交易表 trade,欄位為tid 交易id date 交易時間 需要寫乙個查詢語句,...

乙個奇怪的listview

一般情況下listview就是乙個頭有控制代碼 用spy看看任務管理器 就是 程序 這個有個控制代碼 就知道了 再就是整個listview乙個控制代碼 一共2個控制代碼 分別是 主控制代碼 syslistview32 和頭控制代碼 sysheader32 這個奇怪的listview被分成了3個控制代...

乙個奇怪的Exception

環境大概是,jdk8 tomcat8,為了進行強加密,使用了bouncycastle的庫。但是在啟動的時候總報告乙個錯誤 must be passed recipient s private ec key for decryption 錯誤出在乙個instance of的判斷 if var2 ins...