Сохраните значение с плавающей точкой в ​​переменную char (15) на сервере SQL - PullRequest
0 голосов
/ 12 июля 2011

Как сохранить значение float переменная NumFiscalActual в столбце char(15) impfisfac

На сервере sql ...

UPDATE FACTURA SET
impfisfac= cast(@NumFiscalActual AS varchar)

Я знаю, что должен использовать char variable='char value', но с этой функцией приведения ... Я не знаю = /

Спасибо заранее

1 Ответ

0 голосов
/ 12 июля 2011

Внимание: число до 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...

Но вы потеряете данныекак указано выше.Так почему же?Или используйте десятичные типы с фиксированной запятой ....

...