1. CAST函数 语法:CAST(expression AS type) 该函数将expression转换为指定的type类型。type可以是一个整数类型,小数类型,日期类型,字符类型等。例如: SELECT CAST('123' AS UNSIGNED INTEGER); -- 输出结果为123 SELECT CAST('12.34' AS DECIMAL(5,2)); -- 输出结果为12.34 2. CONVERT函数 语法:CONVERT(expression, type) 该函数将expression转换为指定的type类型。type可以是一个整数类型,小数类型,日期类型,字符类型等。例如: SELECT CONVERT('123', UNSIGNED INTEGER); -- 输出结果为123 SELECT CONVERT('12.34', DECIMAL(5,2)); -- 输出结果为12.34
在使用这些函数时,需要注意一些细节:
1. 字符串必须符合数值格式,否则会返回NULL或0,例如: SELECT CAST('abc' AS UNSIGNED INTEGER); -- 输出结果为0 SELECT CAST('12.3.4' AS DECIMAL(5,2)); -- 输出结果为NULL 2. 参数必须有类型,否则会报错,例如: SELECT CAST('123'); -- 报错 SELECT CAST('123' AS ''; -- 报错 3. CAST和CONVERT函数的性能差异不大,因此可根据实际情况而定。但需要注意的是,在将一个类型转换为另一个类型时,应使用CAST函数。