私は、次のクエリがありますMySQLの挿入、誤った小数点値
Incorrect decimal value: '' for column '' at row -1
をので、私は見て:
INSERT INTO DUMP (storename,
balance,
otherbalance)
SELECT storename,
IF(balance = '', 0.0, CAST(balance AS DECIMAL (9,2))) AS balance,
IF(otherbalance = '', 0, CAST(otherbalance AS DECIMAL(9,2))) AS otherbalance
FROM superchart
AND storename IN ('Superstore')
を私は入れません Incorrect DECIMAL value when inserting MySQL
そして、 'もし' を試してみました、 NULL - 同じ結果。
私は、もし「でした」、0.0 - 私はちょうど私がまさに悪い何点をピンすることができますどのように他表示されていない同じ結果
を...私はそれがで何かを知っている「のでotherbalance」コラム私がすれば:
INSERT INTO DUMP (storename,
balance,
otherbalance)
SELECT storename,
IF(balance = '', 0.0, CAST(balance AS DECIMAL (9,2))) AS balance,
'0.0' AS otherbalance
FROM superchart
AND storename IN ('Superstore')
実際には、私はちょうど悪いレコードを指摘する方法を知りません。
どのボディにも、IF = ''、NULL以外の提案はありません。次に試すものは何もわかりません。
私はレコードを分割してピンポイントしています。
だから私は二つのレコードを挿入し、私は両方のレコードのために
LENGTH(otherbalance)を行う場合は...私は4取り戻すと、セルの値が0.00ので、それでない別のものを持っています彼らはキャスティングが行われる前に、セルの正確な値を引き出すためのヒント/トリックはありますか?
おかげで、
'balance'と' otherbalance'のデータ型は何ですか? –
'FROM スーパーチャート AND company'は有効なSQLではありません。あなたのコードはコンパイルエラーで失敗するはずです。 –
データ型はTEXT – losrob