MySQL表中有一列列出了丹麦DKK的价格值,如下
+------------+
| price |
+------------+
| 299.95 DKK |
| 149.00 DKK |
| etc... |
我现在想把它转换成一个整数值,并重新计算成瑞典克朗(1 DKK=1.4(
UPDATE my_table SET price = ROUND(CONVERT(price, SIGNED) * 1.4) WHERE price LIKE "%DKK%"
然而。。。这在MySQL中引发了一个错误:#1292-截断了不正确的INTEGER值:"299.95 DKK">
我已尝试进入
SELECT ROUND(CONVERT("299.95 DKK", SIGNED) * 1.4)
其返回如预期的值CCD_ 1。。。
但为什么我会收到错误?我的查询出了什么问题
当您进行被禁止的选择时,可能会出现警告,但SQL模式很严格,不允许进行更新。您可以使用ignore
来覆盖它
update ignore test set price = ROUND(CONVERT(price, SIGNED) * 1.4) where price LIKE "%DKK%";
小提琴