sql字符串转换成日期

明确地,STR_TO_DATE可以按格式将字符串转换为日期。
我上周刚刚处理了一个,'%Y%m%d' 格式是最常用的。
CAST也是可移植的,但不同的系统对它的支持不同。
最主要的是要保证字符串的格式正确,否则转换会出错。
在您的示例“2 02 3 07 05 ”中,只需使用 STR_TO_DATE('%Y%m%d')。
CAST('2 02 3 07 05 ' AS DATE) 也可能有效,但这取决于您使用的数据库。
什么,这够清楚了吧?

sql字符串转换成日期

转换日期时间字符串。

语法:convert(日期时间、字符串、样式)。

样式:0 标准 SQL。
1 00 美国格式。
1 2 0 欧洲格式。
1 3 0 英制格式。

示例:CONVERT(DateTime, '2 02 2 -01 -01 ', 1 2 0) 转换为欧洲格式。

注意:空字符串或无效日期会导致 NULL。

sql字符串转换成日期

上周帮朋友处理了一个数据表,里面的日期字段都是字符串格式。
我使用 STR_TO_DATE 函数将字符串转换为日期类型。
操作如下:STR_TO_DATE('2 02 3 -07 -05 ', '%Y-%m-%d')。
转换成功。

2 02 3 年,我还记得使用CAST函数转换日期,CAST('2 02 3 -07 -05 ' AS DATE),转换成功完成。

但是请注意,转换时格式必须匹配。
比如我是这样转换的:%Y-%m-%d。
该格式必须与字符串格式一致。

我的朋友说,有时CAST会失败,可能是因为数据库系统不支持这种转换。
所以更喜欢使用 STR_TO_DATE。

这取决于你。
两种方法都有其优点,具体取决于您的具体需求。