mysql%和%%_mysql通配符%vs%%
在’%’和’%”中有什么区别,当在mysql where⼦句中使⽤’LIKE’时?
select * from `wp_users` u where u.user_nicename like "%lastuser%"
VS
select * from `wp_users` u where u.user_nicename like "%%lastuser%%"
解决⽅法:
mysql下载的vs库放在那个文件里在mysql中进⾏模式匹配时,%%和%之间没有区别.
我看到开发⼈员在尝试匹配⽂字%时因此⽽感到困惑,因此编写%%.这通常是因为format-strings经常使⽤double%来表⽰您希望将其视为精确的⽂字.
LIKE的MySQL⽂档
字符串的起源是什么,它在哪⾥?
如果字符串被传递给诸如sprintf的函数,则存在我之前提到的格式字符串规则,尽管在这种情况下没有混淆.
开发⼈员希望它是传递给mysql的字符串中的单个%,因此编写了%%.
$query = sprintf (
"SELECT ... FROM ... WHERE id <> %d AND data LIKE '%%hello world%%'",
50
);
// $query => "SELECT ... FROM ... WHERE id <> 50 AND data LIKE '%hello world%'";
⼀些使⽤LIKE运算符的SELECT⽰例
mysql> SELECT 'abc' LIKE 'ab%';
+------------------+
| 'abc' LIKE 'ab%' |
+------------------+
| 1 |
+------------------+
1 row in set (0.01 sec)
mysql> SELECT 'abc' LIKE 'ab%%';
+-------------------+
| 'abc' LIKE 'ab%%' |
+-------------------+
| 1 |
+-------------------+
1 row in set (0.00 sec)
mysql> SELECT 'abc' LIKE 'ab\%';
+-------------------+
| 'abc' LIKE 'ab\%' |
+-------------------+
| 0 |
+-------------------+
1 row in set (0.00 sec)
mysql> SELECT 'ab%' LIKE 'ab\%'; +-------------------+
| 'ab%' LIKE 'ab\%' |
+-------------------+
| 1 |
+-------------------+
1 row in set (0.00 sec)
标签:mysql,wildcard,where-clause

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。