【问题标题】:How to replace escape character with a string如何用字符串替换转义字符
【发布时间】:2016-05-27 18:11:22
【问题描述】:

我正在尝试用字符串替换转义字符,但查询给了我一个不相关的结果

eg- char- '\' 用下面的查询替换为 'adfc'

SELECT REPLACE("abcdefgh\i","\\", "adfc" );

输出 - abcdefghi

所需的输出 - abcdefghadfci

如何在 mysql 中实现这一点?

【问题讨论】:

  • 在我看来,如果 '\\' 代表 '\' "转义",那么在第一个字符串上,'\i' 将仅代表 'i' "转义"。也许也可以尝试将第一个字符串加倍 '\\'
  • @sagi 我想实现类似 "REPLACE("abcdefgh\i","\", "adfc" );"但是“\”不起作用,因为\转义了引号并出现查询错误。
  • @Rakim 我们从数据本身获取第一个字符串。所以我们不能改变它,但想在以后操纵它。
  • 您是否尝试输入第一个字符串作为实际变量而不是使用字符串进行测试?
  • 就像您要使用的实际查询一样,而不是使用字符串进行测试SELECT REPLACE(var,"\\", "adfc" );

标签: mysql replace


【解决方案1】:

在你的 my.ini 中添加这一行:

sql-mode="NO_BACKSLASH_ESCAPES"

然后重新启动你的 mysql 服务器,并将你的查询替换为:

SELECT REPLACE("abcdefgh\i","\", "adfc" );

参考here

【讨论】:

    【解决方案2】:

    使用这个:

    SELECT REPLACE("abcdefgh\\i","\\", "adfc" );
    

    单个转义字符会自动转义字符,因此您需要将双转义字符用于删除转义字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 2016-03-10
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多