varcharからfloatへ

| | コメント(0)

SQLServerです。

csvからimportしたデータなのですが、varcharからfloatに変換して、100で割った後、再びvarcharに直します。

その他の処理もあって、次のようなSQLを書きました。

Update TempTbl Set Data005=CONVERT(varchar,CASE flag005 WHEN '0' THEN '-' WHEN '4' THEN CONVERT(float,Data005)/100 ELSE Data005 END);

するとvarcharからfloatの変換でエラーが起こります。

試行錯誤の結果、次のようにするとエラーが起こらないことがわかりました。

Update TempTbl Set Data005=(CASE flag005 WHEN '0' THEN '-' WHEN '4' THEN CONVERT(varchar,CONVERT(float,Data005)/100) ELSE Data005 END);

エラーが起こっていた明確な理由があるはずなのですが、私の中では未だに謎のままです。

カテゴリ

コメントする

このブログ記事について

このページは、Hiroshiが2006年4月 5日 23:00に書いたブログ記事です。

ひとつ前のブログ記事は「4月になると彼女は」です。

次のブログ記事は「VB6でのフォームのスクロール」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0