将十进制转换为 Varchar
我在定义为十进制(8,3)的表中有一个十进制列.我想将此列包含在 Select
语句中,将其转换为 Varchar
并且只显示两位小数.我似乎无法找到正确的选项组合来执行此操作,因为我尝试的所有操作仍然会产生三位小数.
I have a decimal column in a table defined as decimal(8,3). I would like to include this column in a Select
statement, convert it to a Varchar
and only display two decimal places. I can't seem to find the right combination of options to do this because everything I try still produces three decimal places.
推荐答案
这是一种方法:
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
如果你想让它右对齐,你应该这样做:
if you want it right-aligned, something like this should do you:
select str(something,8,2) from #work
相关文章