在MySQL中,cast(expr AS type) 函数用于数据类型转换,即将表达式转换为指定的数据类型。
其语法格式如下:
cast(expr AS type) --将表达式转换为指定类型
cast()函数是一个数据类型转换函数,用于将表达式转换为指定的SQL数据类型。
值得注意的是,cast()函数支持转换为CHAR、DATE、DATETIME、TIME、SIGNED、UNSIGNED、DECIMAL等数据类型,转换失败可能返回NULL或报错。
一般来说,我们会有这些数据类型转换情况:
| 转换方向 | 说明 |
|---|---|
| 字符串 ↔ 数字 | 文本数字与数值间的相互转换 |
| 字符串 ↔ 日期 | 日期文本与日期类型间的相互转换 |
| 浮点数 ↔ 整数 | 小数与整数间的精度转换 |
| 数值 ↔ 数值 | 不同数值类型间的转换(如 SIGNED ↔ UNSIGNED) |
| 字符串 ↔ 时间 | 时间文本与时间类型间的相互转换 |
| 日期 ↔ 日期时间 | 日期与日期时间格式间的相互转换 |
| 二进制 ↔ 字符串 | 二进制数据与文本字符串间的相互转换 |
select cast('2025-11-20' as date);
select cast(-15 as signed);
select cast('dotcpp.com' as date);其查询结果如下:

总结:在MySQL中,我们可以通过cast()函数将表达式转换为指定的数据类型,支持多种SQL数据类型之间的转换。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程