SQL语句中转义字符怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句中转义字符怎么写?相关的知识,希望对你有一定的参考价值。
两种比较常见的方式 :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.
特殊转义:单引号 -- 用2个单引号''
两种比较常见的方式
(1)用中括号[]转义
WHERE ColumnA LIKE 'aaa[_]bbb' ---
(2)用关键字ESCAPE 转义
WHERE ColumnA LIKE '%aaa/%bbb%' ESCAPE '/'
注:
1)方式2不如1方便,适用面也窄小,清晰度也差。
2)方式0在使用动态SQL,尤其是“嵌套 + 代码生成”的高级应用中,很容易出错
参考技术B今天上网查了一下,经过测试,其实SQL语句中转义字符很简单。
以下是两种比较常见的方式:
第一:用中括号[]转义
WHERE ColumnA LIKE '9[_]5'。
第二:用关键字ESCAPE 转义
WHERE ColumnA LIKE '%5/%%' ESCAPE '/'。
mybatis sql语句中转义字符
问题: 在mapper ***.xml中的sql语句中,不能直接用大于号、小于号要用转义字符
SELECT
top ${topNum}
CASE WHEN bill_type=‘FAJDSCRK01‘ THEN ‘SP_InStock‘
WHEN bill_type=‘FAJDSCRK01‘ THEN ‘SP_InStock‘
WHEN bill_type=‘FAJDSCRK01‘ THEN ‘SP_InStock‘
WHEN bill_type=‘FAJDSCRK01‘ THEN ‘SP_InStock‘
END AS formId,
‘FBillNo‘ fieldKeys,
‘F_FA_zyBillNo‘ columnName,
djno_with_prefix columnValue,
‘FStockOrgId‘ orgName,
org_kingdee orgValue
FROM
ERP_FOEN_KINGDEE_DJNO_CONTRAST
WHERE (djno_kingdee IS NULL
or djno_kingdee=‘‘) AND exe_count <=3 ;
]]>
以上是关于SQL语句中转义字符怎么写?的主要内容,如果未能解决你的问题,请参考以下文章