SELECT CAST('123'AS UNSIGNED); --将字符串类型的123转换为无符号整型数字类型 SELECT CONVERT('123', SIGNED); --将字符串类型的123转换为有符号整型数字类型 SELECT CONVERT('123', DECIMAL); --将字符串类型的123转换为十进制类型的数字
以上三种方式都能将字符串类型的数据转换为数字类型的数据,其使用方法是不同的,需要根据具体情况进行选择。
如果需要将字符串中的字母去除再进行转换,可以使用如下方式:
SELECT CAST('123a'AS UNSIGNED); --字符串中有非数字字符的转换结果为0 SELECT CAST( '123a456' AS UNSIGNED); --结果为123 SELECT CONVERT('123a456', DECIMAL); --结果为123
需要注意的是,在进行字符串转换为数字的过程中,如果字符串中含有非数字的字符,那么转换结果为默认值0。
总之,在进行mysql中字符串转换数字类型时,需要根据具体情况选择相应的函数进行转换,同时还需要注意字符串中是否有非数字的字符,以免出现转换错误。