0
我有以下查詢:MySQL的插入不正確的十進制值
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: '' for column '' at row -1
所以我看了看: 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 ...不完全確定接下來要嘗試什麼。
所以,我已經把它分解出來了,
所以我有兩個記錄,一個插入和另一個不...如果我的兩個記錄做
長度(otherbalance)我回來4單元格中的數值是0.00,因此似乎他們正在鑄造相同的東西是否有任何提示/技巧在任何鑄造完成之前拉出細胞的確切值?
感謝,
「balance」和「otherbalance」的數據類型是什麼? –
'從 superchart AND company'是無效的SQL。您的代碼會因編譯器錯誤而失敗。 –
數據類型爲TEXT – losrob