sql-server – 将Decimal转换为Varchar

我在一个定义为十进制(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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...