oracle字符串拼接注意事项

概述

在oracle字符串中,要进行字符串拼接时,需注意使用 ||进行拼接,否则就会出现一个特殊情况。

问题描述

问题

问题原因是笔者在Oracle数据库中以字符串进行存储ql表达式,但是刷完数据后ql表示式执行报错。原错误脚本字符串demo如下:

'
if(a==1&&b==2){
    
    
return true}
'

原因

经过笔者实验排查发现,Oracle中&&特殊字符若没有特殊处理会存储一个&

select '
if(a==1&&b==2){
    
    
return true}
'
  from dual;

在这里插入图片描述

解决方式

使用||进行拼接,但是在字符串中进行拼接,所以要加单引号转义

select '
if(a==1 ' || '&' || '&' || 'b==2){
    
    
return true}
'
  from dual;

特殊情况也可以规避问题

若将数据在plsql的command刷数据,及时不加特殊转义字符也是可以的,但保守起见,还是按照如上方案比较稳妥

猜你喜欢

转载自blog.csdn.net/shark_chili3007/article/details/120947328