【发布时间】:2012-07-20 16:00:15
【问题描述】:
我知道将某些数据类型从较大的数据类型转换为较小的数据类型是非正统的并且具有潜在的危险。但是,在这种情况下,BIGINT UNSIGNED 列的值极不可能大于INT 列的最大大小。
所以,使用 MySQL,我正在读取表结构。在阅读information_schema.columns.ordinal_position 专栏时,我意识到它属于BIGINT UNSIGNED 类型。现在,我希望将其作为INT,而不是用于我的处理目的。我想在 SQL 中转换/转换类型。
CAST 和CONVERT 显然只允许我更改数据类型的符号。
SELECT CAST(ordinal_position AS SIGNED)
FROM information_schema.columns
我希望该列专门返回为 INT。例如。在 INT 的最大值处截取列并返回该值。
现在我将在拉回值后更改数据类型。但我想知道如何在 SQL 中做到这一点。
【问题讨论】: