Я знаю, что это неортодоксально и потенциально опасно хотеть конвертировать что-то из более крупного и меньшего размера. Однако в этом случае крайне маловероятно, чтобы значение столбца 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.