mysql 查询时字符串转数字
时间: 2024-09-09 16:07:26 浏览: 94
深入MYSQL字符数字转换的详解
5星 · 资源好评率100%
在MySQL中,当你需要从字符串转换为数字时,可以使用内置的CAST、CONVERT或NUMERIC函数。以下是几种常用的方法:
1. **CAST() 函数**:
```sql
SELECT CAST('123' AS SIGNED) AS number; -- 将字符串转化为整数
SELECT CAST('123.45' AS DECIMAL(5,2)) AS decimal_number; -- 转化为小数
```
2. **CONVERT() 函数**:
这个函数的语法与CAST类似,只是更推荐使用。
```sql
SELECT CONVERT(SIGNED, '123') AS number;
SELECT CONVERT(NUMERIC(5,2), '123.45') AS decimal_number;
```
3. **UNION ALL + TRIM() + CAST/CONVERT**:
如果数据前有空格或其他非数字字符,可以先清理再转换。
```sql
SELECT CAST(TRIM(' 123 ') AS SIGNED) FROM dual;
```
注意:
- 如果字符串无法转换成数字,上述函数会返回NULL值。
- NUMERIC函数通常用于精确到小数点后的位数,SIGNED表示正负数。
阅读全文