mysql %和%%_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%%';

+-------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值