如何实现表列mobile_sim_sl与本地变量W_sim_sl的模式匹配?报错求助
解决SQL模式匹配报错问题
问题根源:你的
LIKE子句写法错误,把变量W_SIM_SL包裹在了单引号内部,导致数据库将整个'|| W_SIM_SL||'当作字面字符串进行匹配,而非引用变量的实际值。修正方案:
- 若需精确匹配(效果和
=一致),直接使用等于号:MOBILE_SIM_SL = W_SIM_SL - 若需模糊匹配(结合通配符
%或_),需正确拼接变量与通配符,注意单引号和拼接符||的位置:-- 匹配以W_SIM_SL开头的内容 MOBILE_SIM_SL LIKE W_SIM_SL || '%' -- 匹配包含W_SIM_SL的内容 MOBILE_SIM_SL LIKE '%' || W_SIM_SL || '%' -- 精确匹配也可直接用LIKE MOBILE_SIM_SL LIKE W_SIM_SL
- 若需精确匹配(效果和
修正后的完整代码(以精确匹配为例):
SELECT USER_ID, MOBILE_SIM_SL INTO STRICT W_USER_ID, W_MOBILE_SIM_SL FROM MOBILEUSERS WHERE ENTITY_CODE = P_ENTITY_CODE AND IMEI_NUMBER = P_IMEI AND MOBILE_SIM_SL = W_SIM_SL;
内容的提问来源于stack exchange,提问作者shiv kumar
相关产品推荐
相关产品推荐

