sql - 如何阻止 SQL Server 中的 real-to-varchar(50) 转换截断值?

标签 sql sql-server

我在一个表中有几个真实的值。

42.1234323
38.0234042
40.1112311

但是,即使我这样指定 varchar(50):

cast(<<value>> as varchar(50))

它们会掉落字符:

42.12
38.023
40.111

我该如何阻止它?我需要所有的数字...

谢谢。

最佳答案

使用 str() 进行转换:

select str(col, 10, 7)

已记录 here .

另一种方法首先转换为十进制:

select convert(varchar(255), convert(decimal(10, 7), col))

关于sql - 如何阻止 SQL Server 中的 real-to-varchar(50) 转换截断值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39807197/

相关文章:

sql-server - SQL Server 中 View 的成本

sql-server - SQL Server 在子查询上连接列的值

sql - VBA 多 SQL 查询到 Excel

sql - 比较数据库中一列存在但另一列不存在的记录

ios - 核心数据结果分组依据

sql - 仅当变量是数值时才为其赋值

sql - 在表连接中使用 COUNT 函数

SQL 条件连接一次性连接到多个表

sql - BigQuery,如何在where子句中使用别名?

mysql - 具有内连接、子选择和限制的 SQL 选择