首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将SQL应用到“\detail2 1\detail2 2”(转义'\')上?

问如何将SQL应用到“\detail2 1\detail2 2”(转义'\')上?
EN

Stack Overflow用户
提问于 2011-08-19 08:03:00
回答 3查看 10.6K关注 0票数 6

我有一个表T1和一个列details,data列有以下示例数据:

代码语言:javascript
复制
select details from T1;

\this is detail 1\this is detail2\
\this is detail 1\this is detail2\
:this is detail 1:this is detail2:
:this is detail 1:this is detail2:
\this is detail 1\this is detail2\

我只想获取那些由details分隔的\。

为此,我编写了以下查询:

代码语言:javascript
复制
select details from T1 where details like '\%\%\';

,但它没有像预期的那样响应,因为它以\作为逃逸校正器。

因此,它的不完全单倒(‘)显示误差!

那么,怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-19 08:05:00

尝试一下,您需要在LIKE语句中避免两次反斜杠。

代码语言:javascript
复制
select details from T1 where details like '\\\\%\\\\%\\\\'

http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html

,因为MySQL在字符串中使用C转义语法(例如,“\n”来表示换行符),所以必须将您在类似字符串中使用的“\”加倍。例如,要搜索“\n”,请将其指定为“\\n”。要搜索“\”,请将其指定为“\\\\”;这是因为反斜杠由解析器删除一次,在模式匹配时再删除一次,留下一个反斜杠与.

匹配。

票数 11
EN

Stack Overflow用户

发布于 2011-08-19 08:07:45

MySql有反斜杠的转义字符\(与C类语言相同):

http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html

票数 2
EN

Stack Overflow用户

发布于 2011-08-19 08:07:53

尝试使用‘\%\%\\’-使用反斜杠来转义反斜杠。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7118616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档