MySQL字符串转数字
时间: 2023-08-19 12:07:55 浏览: 110
在MySQL中,可以使用CAST函数或者CONVERT函数将字符串转换为数字。以下是使用这两个函数的示例:
1. 使用CAST函数:
```
SELECT CAST('123' AS UNSIGNED) AS result;
```
这将把字符串'123'转换为无符号整数。
2. 使用CONVERT函数:
```
SELECT CONVERT('456', UNSIGNED INTEGER) AS result;
```
这也会将字符串'456'转换为无符号整数。
无论是使用CAST还是CONVERT函数,你可以根据需要选择不同的数据类型进行转换。在上述示例中,我使用了UNSIGNED类型来示范转换为无符号整数,但你可以根据实际情况选择其他数据类型,如SIGNED、DECIMAL等。
注意:如果要转换的字符串不能被解析为有效的数字,将会返回NULL值。确保在转换之前验证输入的字符串是否符合预期的格式,以避免出错。
相关问题
MYSQL 字符串转数字
在MySQL中,可以通过使用CONVERT()函数,CAST()函数或者上下文自动转换类型来将字符串转换为数字。
使用CONVERT()函数的示例:
SELECT CONVERT('abd', SIGNED); -- 结果为0
SELECT CONVERT('abd5', SIGNED); -- 结果为0
SELECT CONVERT('5abd', SIGNED); -- 结果为5
SELECT CONVERT('5abd5', SIGNED); -- 结果为5
SELECT CONVERT('55', SIGNED); -- 结果为55
使用CAST()函数的示例:
SELECT CAST('abd' AS SIGNED); -- 结果为0
SELECT CAST('abd5' AS SIGNED); -- 结果为0
SELECT CAST('5abd' AS SIGNED); -- 结果为5
SELECT CAST('5abd5' AS SIGNED); -- 结果为5
SELECT CAST('55' AS SIGNED); -- 结果为55
此外,如果在查询中需要对字段进行排序,也可以直接使用ORDER BY语句结合CONVERT()函数或CAST()函数来实现。例如:
SELECT * FROM area_gdp ORDER BY CONVERT(gdp, SIGNED) ASC;
查询结果如下:
4 深圳 980
1 北京 1200
3 广州 6000
2 上海 6100
SELECT * FROM area_gdp ORDER BY CONVERT(gdp, SIGNED) DESC;
查询结果如下:
2 上海 6100
3 广州 6000
1 北京 1200
4 深圳 980
所以,如果需要将字符串转换为数字,可以使用CONVERT()函数或CAST()函数来实现。
mysql 字符串转数字
MySQL 中字符串转数字的方法有多种,常用的有以下几种:
1. 使用 CAST 函数:
SELECT CAST('123' AS UNSIGNED INTEGER);
2. 使用 CONVERT 函数:
SELECT CONVERT('123', SIGNED INTEGER);
3. 使用数学函数:
SELECT '123' + 0;
注意:字符串必须是一个数字字符串,否则会返回空值。
阅读全文