我知道将某些数据从较大的数据类型转换为较小的数据类型是非正统的并且具有潜在的危险。但是,在这种情况下,列的值极不可能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. 例如,在 an 的最大值处截取列INT并返回该值。
现在,我将在拉回值后更改数据类型。但我想知道如何在 SQL 中做到这一点。