MySQL 从字符串字段中提取数值的方法


MySQL 从字符串字段中提取数值的方法


个人记录

由于百度搜索结果大部分都是写函数进行转换,个人感觉太繁琐,从网上收集了以下方法,已测试过,可行。

需求描述:有一个公司信息表(r_supplier),其中有一个字段(register_capital)是公司的注册资本,需要提取前面的数字进行条件判断。如图所示:

MySQL 从字符串字段中提取数值的方法_第1张图片


一、使用 CAST() 方法

CAST(expr AS type)
  • expr:字段
  • type:需要转换成什么类型

sql:SELECT CAST(s.register_capital AS UNSIGNED) from r_supplier s;

1.示例

MySQL 从字符串字段中提取数值的方法_第2张图片

二、使用负号进行转换:-(- 字段)


sql:SELECT -(-s.register_capital) from r_supplier s;

1.示例

MySQL 从字符串字段中提取数值的方法_第3张图片


2.如果字段中不包含数字,会变成0

MySQL 从字符串字段中提取数值的方法_第4张图片


三、总结

测试时发现第一次执行第一个方法的时候会有点慢,不过后面经过测试,两种方法执行都差不多,可能是因为第一次处理数据的原因


你可能感兴趣的:(MySQL,mysql,数字,提取数字)