CAST()
は、DATETIME、DECIMAL、TIME、SIGNED、UNSIGNEDの場合は、BINARY、CHAR、DATEでのみ機能するようです。私はBIGINTに16進文字列を変換する必要がありMySQLで型をbigintにキャストするにはどうすればよいですか?
は、つまり、私がしたいと思います:
SELECT CAST(CONV("55244A5562C5566354',16,10) AS BIGINT)
はCONV()私は変換にそれをしようとしている理由ですので、文字列を返します。私はこのために2つの用途があります。
データを挿入しています。
INSERT INTO a(foo) SELECT CONV(bar,16,10) FROM ...
ここで、fooはbigintカラムです。barはvarcharです。おそらく、私は選択文が文字列であり、MySQLがそれを世話するようにすることができますか?(SELECT CONV(bar,16,10)
)それを文字列として扱います。
これはbigint /何に変換されますか?私は "普通の"整数のオーバーフローについて心配する必要はありませんか? – Anonym
@Anonym: '5.1'では、' CAST ... AS UNSIGNED'は常に 'BIGINT'を返します。 – Quassnoi
それはどこに文書化されていますか? – will