记⼀次MySQL中sql语句查询时转义字符问题
前⼏天在⼯作中,⽤到⼀个MySQL的查询语句,明明数据库中有数据,可查询出的结果⼀直是null。最后通过问题排查,发现了原因是where条件有where path = “App\Models\School”,其中的“\”是转义字符。
先说解决办法:sql语句中改成 where path = “App\\Models\\School” 就⾏了,数据在MySQL中进⾏保存时会对转义字符进⾏转义,所以这⾥的“\\”就变成了“\”,就能查询出结果了。
虽然这只是⼀个⼩问题,但遇到了这个问题,故在此做⼀下记录。
引申:
Java中的转义字符:
1.⼋进制转义序列:+ 1到3位5数字;范围’\000’~’\377’
\0:空字符
2.Unicode转义字符:\u + 四个⼗六进制数字;0~65535
\u0000:空字符
3.特殊字符:3个
\":双引号
\’:单引号
\\:反斜线
4.控制字符:5个
\’ 单引号字符
\\ 反斜杠字符
\r 回车
\n 换⾏
\f ⾛纸换页
\t 横向跳格
\b 退格
5.点的转义:. u002E
6.美元符号的转义:$ u0024
7.乘⽅符号的转义:^ u005Esql语句查询结果取反
8.左⼤括号的转义:{ u007B
9.左⽅括号的转义:[ u005B
10.左圆括号的转义:( u0028
11.竖线的转义:| u007C
12.右圆括号的转义:) u0029
13.星号的转义:* u002A
14.加号的转义:+ u002B
15.问号的转义:? u003F

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。