将十进制数转换为INT SQL

Zae*_*n25 5 sql sql-server casting decimal number-formatting

我想将十进制数3562.45转换为356245,或者作为a int或a varchar.我正在使用cast(3562.45 as int),但它只返回3562.我该怎么做?

Mik*_*scu 10

显而易见的是:

CAST(3562.45*100 as INTEGER)
Run Code Online (Sandbox Code Playgroud)


小智 8

这对我有用

SELECT FLOOR(55.5999)
Run Code Online (Sandbox Code Playgroud)


Dan*_*cuk 7

或者您可以替换小数点。

select cast(replace('3562.45', '.','') as integer)
Run Code Online (Sandbox Code Playgroud)

这样,您有多少小数位都无关紧要。


arm*_*991 6

您还可以使用CONVERT函数:

SELECT CONVERT(INT, 3562.45 * 100)
Run Code Online (Sandbox Code Playgroud)