Jon*_*han 30
正常的货币转换将保留个人便士:
SELECT convert(varchar(30), moneyfield, 1)
Run Code Online (Sandbox Code Playgroud)
最后一个参数决定输出格式的样子:
0(默认值)小数点左边每三位数字都没有逗号,小数点右边两位数字; 例如,4235.98.
小数点左边每三位数字1个逗号,小数点右边两位数字; 例如,3,510.92.
2小数点左边每三位数字都没有逗号,小数点右边四位数字; 例如,4235.9819.
如果你想截断便士,并计算磅数,你可以使用四舍五入到最接近的磅,地板到最低的整磅,或天花板来舍入磅:
SELECT convert(int, round(moneyfield, 0))
SELECT convert(int, floor(moneyfield))
SELECT convert(int, ceiling(moneyfield))
Run Code Online (Sandbox Code Playgroud)
将其转换为 int 对你有帮助吗?钱本来就是有小数位的...
DECLARE @test AS money
SET @test = 3
SELECT CAST(@test AS int), @test
Run Code Online (Sandbox Code Playgroud)