[英]mysql LIKE with double percent
我只是調試一個遺留代碼,我發現其中有一個奇怪的部分。 有沒有人有想法,MYSQL 字符串中的以下含義是什么?
full_name LIKE '%%{fullname}%%'
正如 Mihir Dave 的評論鏈接的答案一樣,如果您傳遞%%
而不是%
,則 SQL 沒有區別。 由於單個%
匹配零個或多個字符,因此%%
每個元字符也將匹配零個或多個,最終相同的字符串將以一種或另一種方式匹配。
但我猜你的遺留代碼是 Python 2.6 之前的代碼,它在字符串格式中使用%
作為元字符,你必須像%%
一樣將它加倍以獲得單個文字%
字符。
也可以看看:
我懷疑這是一個遺留問題。 我也在 python 3.7 中使用了雙百分比,盡管在較舊的 mysql 版本上,雙百分比具有轉義第二個 % 的唯一功能。 我是通過Python3.8, MySQL5.7來解決這個問題的:將活動通配符傳遞給 LIKE 查詢
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.