我正在尝试将一串科学记数法(例如,'9.62809864308e-05')转换/转换为SQL中的浮点数。
我尝试了标准方法:CONVERT(FLOAT,x),其中x ='9.62809864308e-05',但它返回错误消息:未实现的固定字符转换函数--bpchar_float8:2585。
我正在做的事情非常简单。我的表有两列:ID和速率(速率是我试图强制浮动的字符串科学记数法)。我在表格中添加了第3列,并尝试使用x:
的浮点表示填充第3列UPDATE my_table
SET 3rd_column = CONVERT(FLOAT, 2nd_column)
2nd_column
的数据类型为CHAR(20)
此外,并非每个字符串浮点数都是科学记数法 - 有些是正常的浮动表示法。所以我想知道是否有内置函数可以处理所有这些。
谢谢!
答案 0 :(得分:0)
事实证明,对于浮点x的任何字符串表示,让我们说x ='0.00023'或x ='2.3e-04'
CONVERT(FLOAT,x)将x的数据类型从char(字符串)转换为float。
它不适合我的原因是我的字符串包含空格。