Как преобразовать это значение 1.2851048260000018E7 (double) в тип данных int в запросе SQL? - PullRequest
1 голос
/ 28 июня 2019

Когда я запускаю SQL-запрос, я получаю большое экспоненциальное значение 1,2851048260000018E7 для суммы в долларах.Как преобразовать его в обычное значение?

1 Ответ

0 голосов
/ 28 июня 2019

Я предполагаю, что вы на самом деле не ищете 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, число будет сокращено до десятичной точки, а не округлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...