3

我有一个如下命名的表user

id || email
---------------------------------
1  || someone@foo.bar
---------------------------------
2  || 1manwithblueshirt@bar.foo
---------------------------------

为什么是这样:

1manwithblueshirt@bar.foo

这个搜索的结果?

SELECT * FROM user WHERE email = 1
4

1 回答 1

5

因为 MySQL 决定将电子邮件转换为整数。规则是将前导字符转换为数字,直到字符不是有效数字。

这是一个简单的例子:

select (case when '1abc' = 1 then 'a' else 'b' end)
于 2013-02-06T23:14:44.280 回答