我在 phpmyadmin 中运行一个简单的选择。查询是:
SELECT email FROM users
WHERE users.email LIKE 'user1@email.com'
OR users.email LIKE 'user2@email.com'
OR users.email LIKE 'user3@email.com'
此查询返回一个空集。另一方面,使用通配符的相同查询:
SELECT email FROM users
WHERE users.email LIKE 'user1@email.com%'
OR users.email LIKE 'user2@email.com%'
OR users.email LIKE 'user3@email.com%'
返回
user1@email.com
user2@email.com
user3@email.com
我不知道为什么这两个查询不返回相同的结果。也许该字段中有不可打印的字符或空白?没有通配符的查询是完全错误的吗?如果它是不可打印的字符或空格,我如何判断它是什么字符?我试过 'user1@email.com' 无济于事。我意识到将所有内容设置为其修剪值很简单,但我很好奇问题出在哪里。