如何在SQL中格式化以千为单位的数字



我正试图将238350.50这样的数字格式化为"238〃;使用SQL。我使用ROUND(number_x, -3)四舍五入到最近的千,它工作得很好,但我不能去掉几百个数字。格式化应该如何工作的更多示例:

  • 499.99变为0
  • 500变为1
  • 1250变为1
  • 22500变为23
  • 231600变为232
  • 等等

你可以把它想象成";k〃;格式化f.e.10.000变为"0";10k";。

谢谢你的帮助!

四舍五入1000,除以1000

ROUND(number_x, -3)/1000
with cte as (
select 499.99 as number_x from dual
union all select 500 from dual
union all select 1250 from dual
union all select 22500 from dual
union all select 231600 from dual
)
select number_x, ROUND(number_x, -3)/1000 as new_number_x
from CTE
NUMBER_XNEW_NUMBER_X
499.990
5001
12501
2250023
231600232

最新更新