異なる長さの数値を含む float 列があり、それらを varchar に変換しようとしています。
一部の値はbigintの最大サイズを超えているため、このようなことはできません
cast(cast(float_field as bigint) as varchar(100))
小数点を使ってみましたが、数字の大きさが同じではないので、これも役に立ちません
CONVERT(varchar(100), Cast(float_field as decimal(38, 0)))
どのような助けでも大歓迎です。
アップデート:
サンプル値は2.2000012095022E+26。
ベストアンサー1
機能を使ってみてくださいSTR()
。
SELECT STR(float_field, 25, 5)
もう一つの注意: これは左側にスペースを埋め込みます。これが問題になる場合は、以下と組み合わせてくださいLTRIM
:
SELECT LTRIM(STR(float_field, 25, 5))