次のコードがあります
DECLARE @m FLOAT=213456789.55
DECLARE @sql VARCHAR(MAX)='INSERT INTO Test VALUES('+CONVERT(VARCHAR,@m,1)+')'
EXEC(@sql)
しかし、結果は213456790
代わりに213456789.55
CONVERT(VARCHAR,213456789.55,1)
私がそれを書き込もうとすると、そうでは213456789.55
ありません213456790
これを解決するにはどうすればよいですか?
編集
次のように @m を Decimal として宣言するとDECLARE @m DECIMAL(18,2)=213456789.55
問題は解決しましたが、float を使用する別の解決策があるかどうかを知りたいです。ありがとう