1. 使用CST函数将字符串转换为数字
CST函数可以将一个字符串转换为指定的数据类型,如下面的示例所示
SELECT CST(‘123’ S UNSIGNED); — 输出 123
在这个示例中,大家将字符串’123’转换为UNSIGNED类型的整数。在CST函数中,大家需要指定要转换的字符串和目标数据类型。
如果要将字符串转换为有符号整数,可以使用SIGNED数据类型
SELECT CST(‘-123’ S SIGNED); — 输出 -123
如果需要将字符串转换为浮点数,则可以使用DECIML或DOUBLE数据类型
SELECT CST(‘3.14’ S DECIML(5,2)); — 输出 3.14
在这个示例中,大家将字符串’3.14’转换为DECIML类型的浮点数,其中5是总位数,2是小数位数。
2. 使用CONVERT函数将字符串转换为数字
CONVERT函数与CST函数类似,可以将一个字符串转换为指定的数据类型。下面是一个示例
SELECT CONVERT(‘123’, UNSIGNED); — 输出 123
在这个示例中,大家将字符串’123’转换为UNSIGNED类型的整数。在CONVERT函数中,大家需要指定要转换的字符串和目标数据类型。
与CST函数不同的是,CONVERT函数还可以指定字符集和排序规则。例如,如果要将一个UTF-8编码的字符串转换为GBK编码的字符串,可以使用如下语句
SELECT CONVERT(‘你好’, CHRCTER SET GBK); — 输出 ??
在这个示例中,大家将UTF-8编码的字符串’你好’转换为GBK编码的字符串。注意,由于GBK编码不支持中文字符,所以输出结果为两个问号。
在MySQL中,将字符串转换为数字可以使用CST或CONVERT函数。使用这两个函数时,需要指定要转换的字符串和目标数据类型。如果需要指定字符集和排序规则,可以使用CONVERT函数。