MySQL 将所有非数字replace为空,只留下数字
时间: 2024-04-01 11:36:33 浏览: 7
可以使用MySQL中的正则表达式函数来将非数字字符替换为空,只留下数字,具体实现如下:
```
SELECT REGEXP_REPLACE(string, '[^0-9]', '') AS numeric_string
FROM your_table;
```
其中,`REGEXP_REPLACE()` 函数用于替换匹配正则表达式的子字符串,`[^0-9]` 表示匹配非数字字符,`''` 表示将其替换为空。
举个例子,如果你的表中有一个字符串字段 `content`,包含了一些数字和非数字字符,你可以使用以下语句将其替换为只包含数字的字符串:
```
SELECT REGEXP_REPLACE(content, '[^0-9]', '') AS numeric_content
FROM your_table;
```
这样,查询结果中 `numeric_content` 字段将只包含数字,非数字字符将被替换为空。
相关问题
mysql将字符串转换为数字
你可以使用MySQL内置函数`CAST`或`CONVERT`将字符串转换为数字。下面是使用`CAST`函数的示例:
```
SELECT CAST('123' AS UNSIGNED);
```
该查询将字符串`'123'`转换为一个无符号整数。
你也可以使用`CONVERT`函数来完成相同的操作:
```
SELECT CONVERT('123', UNSIGNED);
```
这两个函数的结果相同,但是`CAST`更常用。需要注意的是,如果字符串不能被转换为数字,那么结果将是`0`。因此,在使用这些函数之前,确保字符串可以正确转换为数字。
MySQL里面如何将一个数字转换类型为字符串
可以使用MySQL内置函数CAST()或CONVERT()将数字转换为字符串类型。例如:
1. 使用CAST()函数:
SELECT CAST(123 AS CHAR);
结果为:"123"
2. 使用CONVERT()函数:
SELECT CONVERT(123, CHAR);
结果为:"123"