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