MySQL 我无法将丹麦货币字符串列重新计算为瑞典货币值(整数)



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%";

小提琴

最新更新