2016-08-24 14 views
0

科学的表記の文字列(たとえば '9.62809864308e-05')をSQLの浮動小数点数に変換/キャストしようとしています。SQL(赤いシフト)の浮動小数点数(浮動小数点数)への科学記法の変換

標準的な方法:CONVERT(FLOAT、x)x = '9.62809864308e-05'を試しましたが、エラーメッセージ「実装されていない固定char変換関数-bpchar_float8:2585」を返します。

私がやっていることはとても簡単です。私のテーブルにはIDとレートの2つのカラムがあります(レートは浮動小数点にキャストしようとしている文字列の科学記法です)。私は自分のテーブルに3番目の列を追加し、xの浮動小数点表現と第三列を移入しようとした:

UPDATE my_table 
SET 3rd_column = CONVERT(FLOAT, 2nd_column) 

2nd_columnのデータ型がCHAR(20)

さらに、すべての文字列のフロートは、科学的表記法であるではありません - - 一部は通常の浮動表記です。だから私は、このすべてを世話することができる機能を内蔵しているのだろうかと思っています。

ありがとうございました!

+0

* BZZZZT * 'would not work'と書かないでください。それがうまくいかない理由を説明してください。エラーメッセージ?モニターが爆発する?また、使用している_Actual_コードを投稿してください –

+0

ご意見ありがとうございます!ただ私の質問を更新しました。 – dtsui

+0

2つの列は正確にどのようなデータ型ですか?アップデートにwhere句を追加して、特定の値を選択して動作するかどうかを確認することをお勧めします。 –

答えて

0

(X FLOAT、)xのデータ型を変換します

CONVERTフロートxの任意の文字列表現のためにあることが判明し、その者は、x = '0.00023' またはX = '2.3e-04' をしましょうchar(string)からfloatに変更します。

私のために機能しなかった理由は、文字列に空白が含まれていたためです。

関連する問題