mysql LIKE,双倍百分比

时间:2018-06-14 17:50:43

标签: php mysql yii sql-like

我只是调试遗留代码,我发现了一个奇怪的部分。有没有人知道,MYSQL字符串中的含义是什么?

full_name LIKE '%%{fullname}%%'

2 个答案:

答案 0 :(得分:1)

正如Mihir Dave的评论链接所给出的答案一样,如果您通过%%而不是%,则与SQL没有区别。由于单个%匹配零个或多个字符,因此%%中的每个元字符也将匹配零或更多,并且最终相同的字符串将以这种或那种方式匹配。

但我猜你的遗留代码是Python之前的2.6,它使用%作为字符串格式的元字符,你必须像%%一样加倍才能获得单个文字{ {1}}角色。

另见:

答案 1 :(得分:1)

我怀疑这是一个遗留问题。我已经在python 3.7中使用了double percent,尽管在较旧的mysql版本上也使用了double percent,而double percent具有转义第二%的唯一功能。 我是通过Python3.8, MySQL5.7: passing active wildcards to LIKE query

来到这里的