[转]MySQL怎么将字符串转为datetime类型
原文地址:https://zhuanlan.zhihu.com/p/553928079
以前只知道第一种方法:
方法1:使用str_to_date()函数
str_to_date()是专门的字符串转日期函数,可以将字符串转换为日期时间值。
- str_to_date(str, format)
str: 必须项。要格式化为日期的字符串
format: 必须项。要使用的格式。
例子:SELECT STR_TO_DATE("2022,6,14 10,40,10", "%Y,%m,%d %h,%i,%s");
但是这个需要精确的写明格式,如果格式与给出的字符串不一样就会出错,而且格式写法也容易忘.
试用了第二种方法,不需要指定格式,在处理数据的时候还是非常有用的,
方法2: 使用CAST() 函数
CAST() 函数用于类型转换,将(任何类型的)值转换为指定的数据类型。
将字符串转为datetime类型的语法
- CAST(字符串值 AS datetime)
但是需要指出的是,字符串必须至少包含年月日,还有不能包含汉字(如'年'),如果有汉字,可以先处理一下,替换成-或者.
其实'日'为0也是可以转换的,例如:
SELECT CAST('8.8.0' AS DATETIME);
结果:2008-08-00 00:00:00
注意,此结果可以select显示,但是无法插入表中,所以要插入还是需要提前加工为正确的日期,如上面改为 8.8.1,即2008年8月1日
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!