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.

参考技术A

特殊转义:单引号 -- 用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语句中,不能直接用大于号、小于号要用转义字符

 

解决方法:

 

 

 

1、转义字符串

 

小于号    <    <

 

大于号    >    >

 

和    & &

 

单引号    ‘    '

 

双引号    "    "

 

2、使用<![CDATA[  你的sql语句 ]]>(sql语句中的<where><if>等标签不会被解析)

 

 如:

 

 

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语句中转义字符怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

mybatis sql语句中转义字符

JAVA中转义字符'\t'的含义?

JAVA中转义字元的疑问

微信小程序中转义字符的处理

R SQL Server ODBC连接在服务器名称中转义字符

ios 请求数据中转义字符&quot;的处理