|
MySQL中的字符转数字可以通过内置的CAST()函数或CONVERT()函数实现。要将字符’123’转换为数字,可以使用CAST('123' AS UNSIGNED)或CONVERT('123', UNSIGNED)。
MySQL提供了一些函数来将字符类型转换为数字类型,以下是一些常用的转换函数及其用法:
zbhjvrk34hiwljy.jpg
(图片来源网络,侵删)
1. CAST()函数
CAST()函数可以将一个表达式转换为指定的数据类型,将字符类型的数字转换为整数类型:
SELECT CAST('123' AS UNSIGNED) AS result;
这将返回整数值123。
2. CONVERT()函数
CONVERT()函数与CAST()类似,但提供了更多的选项和灵活性,将字符类型的数字转换为浮点数类型:
SELECT CONVERT('123.45', DECIMAL(10,2)) AS result;
这将返回浮点数值123.45。
3. 使用算术运算符
zbhj2povlwiem52.png
(图片来源网络,侵删)
在某些情况下,可以直接使用算术运算符(如+)将字符类型的数字转换为数字类型。
SELECT '123' + 0 AS result;
这将返回整数值123。
4. 使用正则表达式提取数字
如果字符中包含非数字字符,可以使用正则表达式提取数字并将其转换为数字类型。
SELECT CAST(REGEXP_REPLACE('abc123def', '[^09]', '') AS UNSIGNED) AS result;
这将返回整数值123。
示例表格
函数/方法 | 描述 | 示例 | CAST() | 将表达式转换为指定数据类型 | SELECT CAST('123' AS UNSIGNED) AS result; | CONVERT() | 将表达式转换为指定数据类型,提供更多选项 | SELECT CONVERT('123.45', DECIMAL(10,2)) AS result; | 算术运算符 | 直接使用算术运算符进行转换 | SELECT '123' + 0 AS result; | 正则表达式 | 提取数字并转换为数字类型 | SELECT CAST(REGEXP_REPLACE('abc123def', '[^09]', '') AS UNSIGNED) AS result; |
zbhjk5pek0c5blu.jpg
(图片来源网络,侵删) |
|