返回列表 发新帖

如何将MySQL中的字符类型数据转换为数字?

[复制链接]

25

主题

71

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2024-8-4 00:19:19  | 显示全部楼层 | 阅读模式
MySQL中的字符转数字可以通过内置的CAST()函数或CONVERT()函数实现。要将字符’123’转换为数字,可以使用CAST('123' AS UNSIGNED)或CONVERT('123', UNSIGNED)。
MySQL提供了一些函数来将字符类型转换为数字类型,以下是一些常用的转换函数及其用法:

zbhjvrk34hiwljy.jpg

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

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

zbhjk5pek0c5blu.jpg


(图片来源网络,侵删)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表