[英]Remove some of trailing zeros from decimal
我有列decimal(10,5)
— VALUE和列int
— PICTURE 。
所以,我需要将VALUE舍入到小数点后的PICTURE数字。
例如:
VALUE = 10.50000
和PICTURE = 2
,我想得到10.50
;VALUE = 0.15371
和PICTURE = 3
,我想得到0.154
如果我只使用Round()
或Cast(Round(...) as nvarchar)
,那么我有尾随零。 如果我Cast()
到float
,那么我会丢失零。
有什么解决办法吗?
您可以将str()
函数与trim()
:
select trim(str(value, 20, picture))
str()
将数字转换为具有指定长度和精度的字符串。 可悲的是,它产生了一个固定长度的字符串,左边用空格填充。 trim()
删除空格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.