gpt4 book ai didi

mysql - MySQL 中 VARCHAR 字段的数值计算

转载 作者:行者123 更新时间:2023-11-30 00:56:39 24 4
gpt4 key购买 nike

我有一个(简化的)结果表:

id | Result1 | Result2 | Progress
---------------------------------
1 | 1b | 3c | NULL
2 | 2c | 2a | NULL
3 | 3c | 2b | NULL
4 | P3 | 2c | NULL
5 | 2c | A | NULL

我想根据 Result1 和 Result2 列的数字部分(始终是第一个字符)之间的差异填充“进度”列。如果任一结果列的第一个字符不是数字,则“进度”列应为 NULL。

所以上表的结果应该是

3c - 1b = 2
2a - 2c = 0
2b - 3c = -1
2c - P3 = NULL
A - 2c = NULL

感谢您的帮助。

最佳答案

感谢那些回复的人,这里的快速回复为我指明了正确的方向 - 这就是我的想法:

UPDATE mytable SET Progress =
CASE
WHEN CAST(Result1 AS SIGNED) > 0 AND CAST(Result2 AS SIGNED) > 0
THEN CAST(Result2 AS SIGNED) - CAST(Result1 AS SIGNED)
ELSE NULL
END

关于mysql - MySQL 中 VARCHAR 字段的数值计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20491534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com