当我运行SQL查询时,美元金额得到一个大的指数值1.2851048260000018E7。如何将其转换为常规值?
答案 0 :(得分:0)
我假设您并不是真正在寻找int
,而是一种非科学的符号。如果您只希望美元和美分使用以下内容(由于您未提供示例代码/数据,则必须针对查询进行调整):
SELECT CAST(1.2851048260000018E7 AS decimal(18,2))
如果您需要更多的十进制数字进行计算,请使用decimal(precision, scale)
(如here所述)使用适合于刻度的任何内容。
如果您确实要寻找int
数据类型,即用美分四舍五入的美元,请使用:
SELECT CAST(ROUND(1.2851048260000018E7, 0) AS int)
如果忽略ROUND
函数,请小心。当您将CAST
设为decimal
到int
时,数字将在小数点处被截断而不是四舍五入。