sql-server - 将十进制转换为 Varchar

标签 sql-server tsql

我在表中有一个十进制列定义为decimal(8,3)。我想将此列包含在 Select 语句中,将其转换为 Varchar 并仅显示两位小数。我似乎找不到正确的选项组合来执行此操作,因为我尝试的所有操作仍然会产生三位小数。

最佳答案

这是一种方法:

create table #work
(
  something decimal(8,3) not null 
)

insert #work values ( 0 )
insert #work values ( 12345.6789 )
insert #work values ( 3.1415926 )
insert #work values ( 45 )
insert #work values ( 9876.123456 )
insert #work values ( -12.5678 )

select convert(varchar,convert(decimal(8,2),something))
from #work

如果你想让它右对齐,类似这样的事情应该可以:

select str(something,8,2) from #work

关于sql-server - 将十进制转换为 Varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572169/

相关文章:

sql - SQL中的偶数或奇数

sql - 显示不带 order by 子句的 SQL 查询的顺序

mysql - 统计 SQL 中来自 XML 的子标签的数量

java - 使用 hibernate/jdbc 以值/对象列表作为参数从 java 代码调用存储过程

sql - 使用sql server将单行多列合并为一列

asp.net - 为什么在 Web 应用程序中由 Reporting Services 2005 调用时,第二个 T-SQL 查询的运行速度比第一个快得多

sql - 如何根据时间戳确定一周的第一天和最后一天?

MySQL 与 SQL 的区别

sql - 虚拟驱动器上的 MDF、LDF 文件

sql-server - 根据总计计算百分比