将浮点值保存到sql server中的char(15)变量中

时间:2011-07-12 02:59:56

标签: sql-server floating-point char

如何将float变量NumFiscalActual的值保存到char(15)impfisfac

在sql server上......

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

我知道我要使用char variable='char value',但使用此演员函数...我不知道= /

提前谢谢

1 个答案:

答案 0 :(得分:0)

警告:浮动数字高达15位。对于非常小和非常大的数字,varchar(15)将丢失数据。

  • 0.0000123456789012345>> 15长度
  • 1.23456789012345E-05>> 15长度

你可以试试这个

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

(你需要WHERE子句,否则每一行都会得到值)

但是,转换浮点数存在问题:您可能会发现小数位丢失(我不记得确切的规则)。

因此,您可以使用STR,例如

UPDATE FACTURA SET impfisfac= RTRIM(LTRIM(STR(@NumFiscalActual,38,16))) WHERE...

但是你会丢失上面的数据。所以为什么?或者使用十进制定点类型....