我的代码是:
CURSOR get_party_description is
select party_name
from ifsapp.IDENTITY_PAY_INFO_ALL
where party_type = :NEW.PARTY_TYPE
and identity = identity_
:NEW_PARTY_TYPE = 'SUPPLIER'
,而字段中的值为“供应商”。此代码将撤回没有记录但如果我将其更改为“供应商”,则会找到记录
如何在不匹配案例的情况下更改搜索?
答案 0 :(得分:2)
您可以将变量和字段转换为大写或小写。
where UPPER(party_type) = UPPER(:NEW.PARTY_TYPE)
这可能会导致表空间扫描,因为该字段上的索引将区分大小写。
你可以通过添加一个大写且索引的列来解决这个问题。
答案 1 :(得分:0)
将您的两个值更改为大写。例如:
CURSOR get_party_description is
select party_name
from ifsapp.IDENTITY_PAY_INFO_ALL
where UPPER(party_type) = UPPER('SUPPLIER')
and identity = identity_
答案 2 :(得分:0)
除了将两个字符串转换为相同的大小写(大写或小写),然后将它们进行相等性比较之外,大多数SQL方言都允许使用LIKE
运算符进行不区分大小写的比较,如下所示:
CURSOR get_party_description is
select party_name
from ifsapp.IDENTITY_PAY_INFO_ALL
where party_type LIKE :NEW.PARTY_TYPE
and identity = identity_