SQL将float转换为带小数的逗号varchar

Mil*_*les 3 sql sql-server floating-point

我有几个花车有点大.他们大约有1亿.

我想这个数字显示类似下面的123,456,789.01234

我发现我可以使用CONVERT如果货币数据类型,但这并不做充分的把戏(它留下了一些小数).

我必须在左边有逗号,在右边有五个小数位.

是否有任何内置的SQL函数来帮助解决这个问题?或者我是否必须编写自定义函数?

谢谢

***更新

  • 我忘了提到我只是将它们显示为varchars.所以此后没有任何计算.
  • 这是在SQL数据库上运行,因此MySQL和Oracle将无法运行.

Lea*_*ing 5

DECLARE @f FLOAT

SET @f = 123456789.01234

SELECT  LEFT('$' + CONVERT(VARCHAR(20), CAST(@f AS MONEY), 1), LEN(@f) - 2)
Run Code Online (Sandbox Code Playgroud)

这将把它减少到两位十进制格式.您可以更改LEN(@f) - 2以修改此设置.