mysql 数字字符串做数字加法运算并更新
时间: 2023-07-18 18:39:43 浏览: 252
更新数字列非法字符.sql
要在 MySQL 中将数字字符串做数字加法运算并更新,可以使用 UPDATE 语句结合 CAST 函数来实现。例如,假设有一个表 table1,其中包含两列 col1 和 col2,它们都是字符串类型的数字变量,要将它们相加并更新到另一列 col3 中,可以使用以下语句:
```
UPDATE table1 SET col3 = CAST(col1 AS UNSIGNED) + CAST(col2 AS UNSIGNED);
```
其中,CAST(col1 AS UNSIGNED) 将 col1 转换为无符号整数类型,同理 CAST(col2 AS UNSIGNED) 将 col2 转换为无符号整数类型,然后将它们相加并更新到 col3 中。
另外,如果字符串中包含非数字字符,则会返回 0。如果要避免这种情况,可以使用 REGEXP_REPLACE 函数将非数字字符替换为空字符串,例如:
```
UPDATE table1 SET col3 = CAST(REGEXP_REPLACE(col1, '[^0-9]', '') AS UNSIGNED) + CAST(REGEXP_REPLACE(col2, '[^0-9]', '') AS UNSIGNED);
```
其中,REGEXP_REPLACE 函数将 col1 和 col2 中的非数字字符替换为空字符串,然后再将它们转换为数字类型并相加,最后更新到 col3 中。
阅读全文