维护项目时,发现一个SQL语句大概意思如下:
select DISTINCT(name)
from student
where type <![CDATA[<>]]> 'node'
and name like '%ABC%'
其实就是一个<![CDATA[]]>是什么的问题,我直接告诉你:
这句SQL在执行时就是
select DISTINCT(name)
from student
where type <> 'node'
and name like '%ABC%'
多说一句,本sql是运行在SqlServer中 "<>" 就是不等于,并且也会把null作为满足条件过滤
<![CDATA[]]>就是为了转义,在XML中很多东西不能被直接写里面,否则XML会错误识别。要写成如下的转义,或者使用<![CDATA[]]>。将转义字符写到<![CDATA[这里]]>
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ' | 省略号 |
" | " | 引号 |