今天用python的cx_Oracle连接数据库执行了一些sql脚本,有一条语句报"ORA-01756"引号内的字符串没有正确结束的错误,提示分号前的语句没有正确结束,因为我的分号是需要直接拼在字符串里的,谁知道cx_Oracle不转义,只当分号执行
下面是示例sql脚本:
select '<h2 style=\"display:flex; justify-content:center;\">'||stu_name||'</h2>'
from stu_info;
按理说分号在字符串内拼接只会被当作普通字符处理,结果:
试过将分号转义依旧无用,我的的处理方式:
select '<h2 style=\"display:flex'||chr(59)||' justify-content:center'||chr(59)||'\">'||stu_name||'</h2>'
from stu_info;
将分号换成它的ASCII码值拼接在字符串内,完美解决,就是分号太多的话字符串会很长。。。。。。。。