Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类似Mysql的文件,包含通配符,产生意外结果_Mysql_Sql_Wildcard - Fatal编程技术网

类似Mysql的文件,包含通配符,产生意外结果

类似Mysql的文件,包含通配符,产生意外结果,mysql,sql,wildcard,Mysql,Sql,Wildcard,我在一个非常简单的MySQL数据库表中有一个varchar列,其中包含两种不同类型的产品引用: 一个像:14521_451_288,其他像45742154 为了能够管理它们,我使用以下代码: WHERE ref LIKE '%_%' 但所有结果都会返回,即使是没有下划线的引用也会返回。我在这里缺少一些基本的东西吗?\p>表示类似表达式中的任何一个字符。这就是返回所有值的原因。您需要转义u字符 试试这个: WHERE ref LIKE '%\_%'; 参考资料: 尝试使用 where ref

我在一个非常简单的MySQL数据库表中有一个varchar列,其中包含两种不同类型的产品引用:

一个像:14521_451_288,其他像45742154

为了能够管理它们,我使用以下代码:

WHERE ref LIKE '%_%'

但所有结果都会返回,即使是没有下划线的引用也会返回。我在这里缺少一些基本的东西吗?

\p>表示类似表达式中的任何一个字符。这就是返回所有值的原因。您需要转义u字符

试试这个:

WHERE ref LIKE '%\_%';
参考资料

尝试使用

where ref <> instr('_') > 0
其中ref instr(“”“)>0

因为
\u
代表
like
表达式中的任何单个字符,而
%
代表表达式中的任何字符。

\u代表like表达式中的任何一个字符。这就是返回所有值的原因。您需要转义u字符。