Mysql Ruby on Rails查询中下划线的转义字符
我要做的是编写如下查询:Mysql Ruby on Rails查询中下划线的转义字符,mysql,ruby-on-rails,Mysql,Ruby On Rails,我要做的是编写如下查询: Foo.where("bar LIKE 'bam\_%'") 其思想是,这将返回所有的行,其中包含一个字符串的bar以“bam_”开头,然后是一个不确定的长度。我在MySQL工作台中尝试过作为一个纯MySQL查询,它似乎按照预期工作。然而,当我在RoR中执行此操作时,它似乎完全忽略了转义字符,并将下划线视为真正的通配符。有没有一种方法可以在Rails中编写此代码,以便在查询中包含下划线?谢谢。反斜杠是Ruby字符串中的转义字符,因此\\表示将\视为文本。由于\始终被视
Foo.where("bar LIKE 'bam\_%'")
其思想是,这将返回所有的行,其中包含一个字符串的bar以“bam_”开头,然后是一个不确定的长度。我在MySQL工作台中尝试过作为一个纯MySQL查询,它似乎按照预期工作。然而,当我在RoR中执行此操作时,它似乎完全忽略了转义字符,并将下划线视为真正的通配符。有没有一种方法可以在Rails中编写此代码,以便在查询中包含下划线?谢谢。反斜杠是Ruby字符串中的转义字符,因此
\\
表示将\
视为文本。由于\
始终被视为文字,因此除了将\
视为不存在之外,它什么也不做。在Ruby文本给定的字符串中实际使用反斜杠的方法之一是使用另一个反斜杠(例如,“类似于bam\\\\\\\%'”
)对其进行转义。您的示例包含语法错误。鉴于可能存在其他误传,您能否准确复制您的代码?缺少第二个双引号。