mysql通配符%vs%%
在mysql where子句中使用带有“LIKE”的“%”和“%”有什么区别mysql通配符%vs%%,mysql,wildcard,where-clause,Mysql,Wildcard,Where Clause,在mysql where子句中使用带有“LIKE”的“%”和“%”有什么区别 select * from `wp_users` u where u.user_nicename like "%lastuser%" VS 在mysql中,当涉及到模式匹配时,%%和%%之间没有区别 我看到开发人员在尝试匹配文本%%并因此编写%%时对此感到困惑。这通常是因为经常使用双精度%表示希望将其视为精确的文字 类似于的MySQL文档 这根绳子的起源是什么?它往哪里走? 如果字符串被传递给一个函数,比如
select * from `wp_users` u where u.user_nicename like "%lastuser%"
VS
在mysql中,当涉及到模式匹配时,
%%
和%%
之间没有区别
我看到开发人员在尝试匹配文本%%
并因此编写%%
时对此感到困惑。这通常是因为经常使用双精度%
表示希望将其视为精确的文字
类似于的MySQL文档
这根绳子的起源是什么?它往哪里走? 如果字符串被传递给一个函数,比如我前面提到的格式字符串规则,那么它是存在的,尽管在这种情况下没有混淆 开发人员希望它是传递给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%'";
你在哪里看到这个?我以前从未见过它。@Pekka:在buddypress核心文件中。。。
$query = sprintf (
"SELECT ... FROM ... WHERE id <> %d AND data LIKE '%%hello world%%'",
50
);
// $query => "SELECT ... FROM ... WHERE id <> 50 AND data LIKE '%hello world%'";
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)