货币数据类型精度 - SQL Server(SSMS)

naf*_*ali 2 sql sql-server ssms currency

在sql server management studio中,数据类型为money,当我输入带小数的金额时,它会自动添加零以填充百分之一.如何确定小数后的空格量?

And*_*mar 6

点后面的零数称为precision数据类型.该money数据类型都有一个固定的精度:

with accuracy to a ten-thousandth of a monetary unit.
Run Code Online (Sandbox Code Playgroud)

点数落后五位数.如果您想要不同的精度,请使用decimal数据类型.一些例子:

select  cast(0.123456789 as money)
,       cast(0.123456789 as decimal(5,3))
,       cast(0.123456789 as decimal(5,1))
Run Code Online (Sandbox Code Playgroud)

这打印:

0.1235    0.123    0.1
Run Code Online (Sandbox Code Playgroud)

  • @Andomar如您的示例所示,千分之一是点后的*四*(不是五)个数字(千分之一,百分之一,千分之一,千分之一) (2认同)