发布网友 发布时间:2022-04-22 09:39
共1个回答
热心网友 时间:2022-04-13 18:37
两种比较常见的方式 :1.用中括号[ ]转义。 2.用关键字ESCAPE 转义。
延展知识:
用中括号[]转义 。
例子:WHERE ColumnA LIKE 'aaa[_]bbb' --- .
用关键字ESCAPE 转义。
例子:WHERE ColumnA LIKE '%aaa/%bbb%' ESCAPE '/'.
1)方式2不如1方便,适用面也窄小,清晰度也差。
2)方式0在使用动态SQL,尤其是“嵌套 + 代码生成”的高级应用中,很容易出错。
举例说明:
错误语句:select * from table_base where flag_topic & #{topic_num} .
错误信息:Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 54; The entity name must immediately follow the '&' in the entity reference.
正确语句: select * from table_base where flag_topic & #{topic_num}.