db2 字串變數比較

2021-10-22 23:35:54 字數 749 閱讀 3488

db2中的like的使用是有限制的,它後面不能跟乙個變數或者是字段,因此,在儲存過程或sql語句中就不能like乙個變數或乙個字段。

比如有兩個表a(a,b,c,d),b(a,b,c,d)。

普遍的用法是:

select * from a where a.b like '%張%'

此語句在任何資料庫都是通用的,

但有時也遇到這種情況:

select a.a,b.b from a,b where a.d like b.d||'%'

此語句在oracle中執行沒有問題,但在db2中就不行,報以下錯誤:

sql0132n like 謂詞或 posstr 標量函式無效,因為第乙個運算元不是字串表示式或第二個運算元不是字串。locate 或 position 標量函式無效,因為第乙個運算元不是字串,或者第二個運算元不是字串表示式。

此種情況在db2中是使用locate函式,locate用法:

locate(arg1,arg2,pos),在org2中查詢arg1第一次出現的位置,pos指明從哪個位置開始查詢(省略則從開始查詢),如果arg1不為null且查詢不到

的話返回0,如果找到則返回大於0的數字。

對於語句:

select a.a,b.b from a,b where a.d like b.d||'%'

在db2中應該修改為:

select a.a,b.b from a,b where locate(b.d,a.d)>0

了解DB2資料庫中DB2字串

db2字串是db2資料庫中的基礎知識,下面就為您分類介紹db2字串,供您參考,如果您對db2字串方面剛興趣的話,不妨一看。db2字串是位元組序列。db2字串包括 char n 型別的定長字串和 varchar n long varchar 或 clob n 型別的變長字串。字串的長度就是序列中的位元...

DB2資料庫中DB2字串型別

db2字串是db2資料庫中的基礎知識,下面就為您分類介紹db2字串,供您參考,如果您對db2字串方面剛興趣的話,不妨一看。db2字串是位元組序列。db2字串包括 char n 型別的定長字串和 varchar n long varchar 或 clob n 型別的變長字串。字串的長度就是序列中的位元...

DB2字串連線

db2字串連線 db2字串連線和oracle資料庫相同,使用 進行db2字串連線,其使用方式和mssqlserver中的加號 一樣。比如執行下面的sql語句 select 工號為 fnumber 的員工姓名為 fname from t employee where fname is notnull ...