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
も、結果に違いはありません。
私は立ち往生していて、なぜそれが起こっているのか分かりません。助けが必要.. !!!