CAST()和CONVERT()用于MySQL数据类型转换,CAST(expression AS type)符合SQL标准,CONVERT(expression, type)功能类似但语法不同,两者可互换使用但需注意类型兼容性。
在MySQL中,CAST() 和 CONVERT() 都用于数据类型的转换。它们功能相似,但在语法和使用方式上略有不同。下
面详细介绍这两个函数的用法和常见场景。
CAST() 函数的语法如下:
CAST(expression AS type)它将 expression 转换为指定的 type。支持的主要类型包括:
示例:
SELECT CAST('123' AS SIGNED); -- 结果:123(整数)CONVERT() 有两种用法:
我们主要关注第一种——类型转换。其语法为:
CONVERT(expression, type)示例:
SELECT CONVERT('456', SIGNED); -- 结果:456实际开发中,类型转换常用于以下情况:
举例:字符串数字求和
SELECT SUM(CAST(price_str AS DECIMAL(10,2))) FROM products;如果 price_str 是存储数字的字符串字段,必须转换后才能正确求和。
注意点:
基本上就这些。CAST 和 CONVERT 可根据习惯选择,CAST 更符合 SQL 标准,CONVERT 功能稍多一点。关键是要清楚目标类型,并验证转换结果是否符合预期。