sql - 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
请,有人知道如何获得所有小数的值吗?
解决方案
你的替换方法,
没.
问题。
但是最重要的是,您需要CAST
将字符串显式显示为具有足够小数的数字(FLOAT
, DECIMAL(p, s)
, ...)。
SELECT DATA, CAST(REPLACE([PL],',','.') AS FLOAT), PL from TB_BOOK
推荐阅读
- java - 如何为具有二维数组的方法传递参数,例如“doSomething(float[][] a)”
- java - SonarLint “用一条 return 语句替换这个 if-then-else 语句”
- php - 在 if 语句 Laravel 中使用下拉列表中的选定值
- php - 函数 static::created 无法正确保存 Laravel
- laravel - Intervention\Image\Exception\NotWritableException 无法将图像数据写入路径
- c - 如何将一个变量的字符串分配给另一个变量?
- javascript - 反应自定义组件(数据表)
- scala - 如何从头文件创建数据框架构
- sql-server - 遇到特定 Error_Number 时执行脚本/存储过程
- php - field_to_name_array - 取二级相关数据