将十进制数转换为整数SQL

12

我想将十进制数3562.45转换为356245,可以是或类型。我使用cast(3562.45 as int),但它只返回3562。请问如何实现?


select cast(3562.45 * 100 as int) - Ivan Gritsenko
这对我来说听起来不像是转换,数字356245不是3562.45的转换,它是一个不同的数字。将3562.45转换为int的结果应该是3562或3563,具体取决于所选择的转换规则。 - Vanni Rovera
4个回答

22

那显而易见的呢:

CAST(3562.45*100 as INTEGER)

13

这对我有效

SELECT FLOOR(55.5999)

12

或者你可以替换小数点。

select cast(replace('3562.45', '.','') as integer)

这样做,无论你有多少小数位,都没有关系。


7
你还可以使用 CONVERT 函数:
SELECT CONVERT(INT, 3562.45 * 100)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接