Я предполагаю, что вы на самом деле не ищете int
, а скорее ненаучную запись. Если вы просто хотите, чтобы доллары и центы использовали следующее (так как вы не предоставили пример кода / данных, вам придется скорректировать это для вашего запроса):
SELECT CAST(1.2851048260000018E7 AS decimal(18,2))
Если вам нужно больше десятичных цифр для расчетов, используйте все, что подходит для масштаба с синтаксисом decimal(precision, scale)
, описанным здесь .
Если вы действительно ищете тип данных int
, то есть доллары с округленными центами, используйте:
SELECT CAST(ROUND(1.2851048260000018E7, 0) AS int)
Будьте осторожны, если не используете функцию ROUND
. Когда вы CAST
a decimal
до int
, число будет сокращено до десятичной точки, а не округлено.