我有几个有点大的花车。他们大约有 1 亿。
我希望这个号码显示如下 123,456,789.01234
我发现如果它是货币数据类型我可以使用 CONVERT 但这并不能解决所有问题(它会保留一些小数位)。
我必须在左边有逗号,在右边有五个小数位。
是否有任何内置的 SQL 函数可以帮助解决这个问题?还是我必须编写自定义函数?
谢谢
*** 更新
- 我忘了说我只是将它们显示为 varchars。所以这之后就没有任何计算了。
- 这是在 SQL 数据库上运行,因此 MySQL 和 Oracle 无法运行。
最佳答案
DECLARE @f FLOAT
SET @f = 123456789.01234
SELECT LEFT('$' + CONVERT(VARCHAR(20), CAST(@f AS MONEY), 1), LEN(@f) - 2)
这会将其截断至小数点后两位以进行格式化。您可以更改 LEN(@f) - 2 来修改此设置。
关于SQL将float转换为带小数的逗号varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/558942/