首页 > 解决方案 > When Select replacing comma with dot is truncating values

问题描述

我正在尝试转换varchar小数点分隔符为 的列','。找到的解决方法是将逗号替换为点,但 SQL Server 会自动将其四舍五入。请参见下面的示例:

2018-10-08 -8679.95 -8679,94711560794

select DATA, REPLACE([PL]*1,',','.') , PL from TB_BOOK 

请,有人知道如何获得所有小数的值吗?

标签: sqlsql-server-2008

解决方案


你的替换方法,.问题。

但是最重​​要的是,您需要CAST将字符串显式显示为具有足够小数的数字(FLOAT, DECIMAL(p, s), ...)。

SELECT DATA, CAST(REPLACE([PL],',','.')  AS FLOAT), PL from TB_BOOK 

推荐阅读