【发布时间】:2013-02-08 21:07:34
【问题描述】:
这听起来很奇怪......但我需要一种方法来找出特定列中存储为整数的所有条目。
显然,过去有人在未打开 MySQL 严格模式的情况下将此列从整数转换为 varchar,这显然导致一些条目保留为整数:
作品:
SELECT * FROM inv_array where serial = 187870123
不起作用:
SELECT * FROM inv_array where serial = '187870123'
serial 列被配置为 varchar,所以上面应该可以工作,不是吗? MySQL 不应该将这些整数转换为 varchar 吗?我要疯了吗?
我需要在这个数据库中找到所有以整数形式存储序列的条目,并将它们转换为 varchar。
【问题讨论】:
-
列不能有混合类型。它们要么都是整数,要么都是 varchars。你不能把两者混在一起。
-
@Chris 在零填充的情况下(例如,列设置为
serial int(20) zerofill)是如何在例如选择查询中删除它们的问题。SELECT trim(leading 0 FORM serial) FROM inv_array WHERE serial = 187870124.
标签: mysql