启用 NO_BACKSLASH_ESCAES 选项时如何转义文字百分号?

How to escape literal percent sign when NO_BACKSLASH_ESCAPES option is enabled?(启用 NO_BACKSLASH_ESCAES 选项时如何转义文字百分号?)
本文介绍了启用 NO_BACKSLASH_ESCAES 选项时如何转义文字百分号?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

My company runs MySQL in NO_BACKSLASH_ESCAPES mode. How can I escape a literal % or _ in a LIKE query in this mode? The standard way is \%, but that doesn't work in this mode.

示例:一列具有以下值:5% off50% off.以下查询适用于标准模式,但不适用于 NO_BACKSLASH_ESCAPES 模式:

Example: a column has the following values: 5% off, 50% off. The following query works in standard mode but not in NO_BACKSLASH_ESCAPES mode:

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

推荐答案

你需要转义

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

对于一个不管 NO_BACKSLASH_ESCAES 模式都能工作的版本,你可以使用不同的字符,比如管道:

For a version that works regardless of NO_BACKSLASH_ESCAPES mode, you can use a different character, like pipe:

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

这篇关于启用 NO_BACKSLASH_ESCAES 选项时如何转义文字百分号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Can#39;t Create Entity Data Model - using MySql and EF6(无法创建实体数据模型 - 使用 MySql 和 EF6)
MySQL select with CONCAT condition(MySQL选择与CONCAT条件)
Capitalize first letter of each word, in existing table(将现有表格中每个单词的首字母大写)
How to retrieve SQL result column value using column name in Python?(如何在 Python 中使用列名检索 SQL 结果列值?)
Update row with data from another row in the same table(使用同一表中另一行的数据更新行)
Exporting results of a Mysql query to excel?(将 Mysql 查询的结果导出到 excel?)