我的公司在无反斜杠转义模式下运行MySQL.在这种模式下,如何在LIKE查询中转义文字%_?标准方式是\%,但在这种模式下不起作用.

示例:列具有以下值:5% off50% off.以下查询在标准模式下工作,但不在无反斜杠转义模式下工作:

SELECT * FROM mytable
WHERE mycol LIKE '5\% off'

推荐答案

你需要逃跑

select * from mytable
where mycol like '5\% off' escape '\';

对于无论无反斜杠转义模式如何工作的版本,可以使用不同的字符,如管道:

select * from mytable
where mycol like '5|% off' escape '|';

Mysql相关问答推荐

SQL中的搜索模式

从MySQL JSON列中检索数组中的所有答案

使用Workbench时如何添加mysqldump配置标志

发生的原因及解决方法

将 JSON 类型的列与特定字符串值进行比较

如何在 MySQL Workbench 中设置 DateTime 列的默认值?

关联同一个表中的两列

使用来自另一个表 mysql 的值将新行插入到表中

Mysql JSON_REMOVE 数组键和值 (MariaDB)

如何在 SQL 中计算留存曲线?

如何获取从开始时间到结束时间的所有正在运行的作业(job)的总和?

使用另一个表中的值更新一个表中的值

查询mysql中无法识别数据值

PHP,MySQL 错误:列计数与第 1 行的值计数不匹配

通过数据库级​​别本身的查询反序列化

一次查询 MySQL 插入多行

将 MySQL 数据库置于版本控制之下?

MySQL - 在 MySQL UPDATE 或 SELECT 查询中使用 If Then Else

带有 OuterRef 的简单子查询

cron 启动的 mysqldump 和密码安全