Внимание: число до 15 значащих цифр.Для очень маленького и очень большого числа varchar (15) потеряет данные.
0.0000123456789012345
is> 15 length - 1.23456789012345E-05 is> 15 length
Вы можете попробовать это
UPDATE FACTURA SET impfisfac= cast(@NumFiscalActual AS varchar(15)) WHERE...
(вам понадобится предложение WHERE, иначе каждая строка получит значение)
Однако существуют проблемы с преобразованием чисел с плавающей запятой: вы можете обнаружить, чтопотеряны десятичные разряды (точные правила не помню).
Итак, вы можете использовать STR , например
UPDATE FACTURA SET impfisfac= RTRIM(LTRIM(STR(@NumFiscalActual,38,16))) WHERE...
Но вы потеряете данныекак указано выше.Так почему же?Или используйте десятичные типы с фиксированной запятой ....