一尘不染

MySQL通配符“ =”-是否存在一个

mysql

所以,

SELECT * FROM table WHERE col LIKE '%'

将返回所有内容。查询是否有通配符

SELECT * FROM table WHERE col = '*'

显然*不起作用,我只是将其放在此处以指示我想要通配符的位置。我从中选择的列包含1到12之间的整数,并且我希望能够选择具有特定编号的所有记录或具有通配符的所有记录。

谢谢,


阅读 221

收藏
2020-05-17

共1个答案

一尘不染

LIKE与=基本相同,除了LIKE允许您使用通配符。

这两个查询将返回相同的结果:

SELECT * FROM table WHERE col LIKE 'xyz';
SELECT * FROM table WHERE col='xyz';

在LIKE查询中没有’%’时,它实际上与’=’相同。

如果要对整数列进行选择,则应考虑使用IN()或BETWEEN运算符。听起来您有两个应该在代码中处理的单独条件,而不是在查询中处理,因为您的条件表明您至少需要两种不同的查询。

编辑:我应该澄清一下,LIKE和=仅在普通的单调字符串比较用法中相似。您应该查看MySQL手册以获取有关其工作原理的详细信息,因为在某些情况下它可能不相同(例如语言集)。

2020-05-17