何かをより大きなサイズのデータ型からより小さなサイズのデータ型に変換したいのは、非正統的であり、潜在的に危険であることを私は知っています。ただし、この場合、列の値が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でそれを行う方法を知りたいです。