0
に小数点を扱う私はラウンド()の使用方法を知っていて、それが147.26719を返しROUND()varchar型
select round(147.26719,5,1)
のために正常に動作します。私はそれが147.26718を返し非常に奇妙なこの
select round('147.26719',5,1)
のようにvarchar型で小数に対処するためにround()
を使用した場合
varchar
あるので、txtファイルからインポートしたテーブルに取り組んでいます。
私は現在、それは
select round(cast('147.26719', decimal(11,6)),5,1)
として正しく実行しますが、これはなぜ起こるか誰が私に説明できますか?私は暗黙のうちにvarcharを10進数に変換するときに何かだと信じていますが、理由を知らないだけです。デフォルトでは、事前
あるいは、' SQL_Variant_Property(ラウンド( '123.3'、1)、 'BaseType')を選択:
あなたは容易ようなコードを使用することによって、これを見ることができます。 – HABO
ありがとう!それは説明する – Olsen