MySQL解析列以获取数字部分并将其添加

Jos*_*ega 1 mysql

我有下表:

+------------------+
|   ColumnName     |
+------------------+
| 1 Slap           |
+------------------+
| 13 Slap          |
+------------------+
| 2 Slap           |
+------------------+
Run Code Online (Sandbox Code Playgroud)

只有MySQL我怎么能解析ColumnName只抓取数值并将它们全部添加?

如果在上表中执行,则查询的输出应为16.

awm*_*awm 6

SELECT SUM(CAST(ColumnName as SIGNED)) FROM TableName
Run Code Online (Sandbox Code Playgroud)

(或者UNSIGNED如果你没有任何负数)

编辑:测试数据以满足怀疑论者.

mysql> select * from testtable;
+---------+
| testcol |
+---------+
| 1 Slap  |
| 13 Slap |
| 2 Slap  |
+---------+
3 rows in set (0.00 sec)

mysql> select sum(cast(testcol as unsigned)) from testtable;
+--------------------------------+
| sum(cast(testcol as unsigned)) |
+--------------------------------+
|                             16 |
+--------------------------------+
1 row in set, 3 warnings (0.00 sec)

mysql>
Run Code Online (Sandbox Code Playgroud)