2

varchar を bigint にキャストしようとしています。次に、それを int 列に挿入します。期待値が得られていないことがわかりました。次に、次のステートメントを試しました。

DECLARE @varData VARCHAR(50)

SET @varData  = '0000019.33'

select cast(@varData *cast(100 as float) as bigint)

select cast(@varData *cast(100 as float) as varchar)

select cast(cast(@varData *cast(100 as float) as varchar) as float)

結果:

1932

1933

1933

なぜこの違いが生じるのか理解できません。しかし、値を変更して0000029.33も、結果に違いはありません。

私は立ち往生していて、なぜそれが起こっているのか分かりません。助けが必要.. !!!

4

2 に答える 2