mysql怎么将字符转换为数字

更新时间:02-09 教程 由 悦缘 分享

MySQL 是一个广泛使用的关系型数据库管理系统,经常需要将字符类型的数据转换成数字类型的数据,下面介绍几种实现方式。

SELECT CAST('123' AS SIGNED);

使用 CAST 函数将字符串转换为整数或浮点数类型。SIGNED 表示有符号数,UNSIGNED 表示无符号数,如果不指定数据类型,会按照默认的方式自动转换,如下面的例子:

SELECT CAST('123.45' AS UNSIGNED); -- 会自动转换成整数

使用 CAST 函数需要注意类型不匹配的问题,如字符类型不能转换成日期类型,浮点类型也不能转换成日期类型。

SELECT STR_TO_DATE('2020-08-08', '%Y-%m-%d');

使用 STR_TO_DATE 函数将字符类型的日期数据转换成日期类型,第一个参数为需要转换的字符,第二个参数为目标日期格式,例如 %Y 表示年份,%m 表示月份,%d 表示日。如果字符类型的日期格式与目标格式不一致,也可以使用 DATE_FORMAT 函数进行转换。

SELECT DATE_FORMAT('08-08-2020', '%Y-%m-%d');

除了常见的函数外,还可以使用 CASE WHEN 语句进行转换。CASE WHEN 语句可以根据条件判断执行不同的操作,语法如下:

SELECT CASE column_name WHEN value1 THEN result1 WHEN value2 THEN result2 ELSE result3 END;

下面的例子将字符类型的数据转换成数字类型的数据:

SELECT CASE WHEN column_name REGEXP '^[0-9]+$' THEN CAST(column_name AS UNSIGNED) ELSE 0 END;

上面的例子中,REGEXP 表示正则表达式匹配,^[0-9]+$ 表示匹配数字或空字符串,CAST 函数将字符类型的数据转换成数字类型的数据,ELSE 表示未匹配到则返回 0。

声明:关于《mysql怎么将字符转换为数字》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2064755.html