mysql - 在 MySQL 的 varchar 字段中搜索整数值

标签 mysql search integer varchar

我有一个名为 user 的表,如下所示:

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

这是为什么:

1manwithblueshirt@bar.foo

此搜索的结果?

SELECT * FROM user WHERE email = 1

最佳答案

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

这是一个简单的例子:

select (case when '1abc' = 1 then 'a' else 'b' end)

关于mysql - 在 MySQL 的 varchar 字段中搜索整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14740692/

相关文章:

java - 为什么我可以把一个8位的十六进制解析成一个Long,再转成一个Integer,却不能直接解析成一个Integer?

mysql - #1247 - 不支持引用 'sid'(引用组功能)

php - php中的trim()和strip_tags()可以防止sql注入(inject)吗?

php Mongo find 仅使用 4 个条件

c++ - 有一张带有路径的 map 如何将它们与给定路径进行比较?

javascript - 添加高级搜索数据

c - 如何判断输入值是否为数字?

csv - 将带有非拉丁字符的 csv 转储到 mysql 表中

mysql - Mysql 当有重复时左连接

C 中整数的计数排序列表