У меня довольно странная проблема.
Из-за выбора одного столбца в большом запросе как из столбцов FLOAT
, так и CHAR
я преобразую результирующие значения FLOAT
в CHAR
, чтобытипы данных для получающегося в результате запроса совпадают.
Для меньшинства значений целых чисел в столбце FLOAT
оно усекает целое число до научной нотации, которая теряет одно целое число.
Пример
DECLARE @fl FLOAT
SET @fl = 1041931
SELECT CAST(ISNULL(@fl, '0') AS VARCHAR(20))
Это отображает
1.04193+e006
Что при расширении составляет 1041930, следовательно, теряется последняя цифра.
Что я делаю неправильно, чтобы отображать целые числаправильно?Этого не происходит для FLOATS с десятичными знаками.