繁体   English   中英

从十进制中删除一些尾随零

[英]Remove some of trailing zeros from decimal

我有列decimal(10,5)VALUE和列intPICTURE

所以,我需要将VALUE舍入到小数点后的PICTURE数字。

例如:

  • 如果VALUE = 10.50000PICTURE = 2 ,我想得到10.50
  • 如果VALUE = 0.15371PICTURE = 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM