MySQL String to Date转换为不同的字符串?

时间:2015-07-15 19:27:14

标签: mysql str-to-date

我需要转换不同字符串的日期。它们有三种不同的方式。

YYYY / MM / DD

毫米/日/年

空白(可以填写一些默认值)

处理INSERT语句的这种情况的好方法是什么?

2 个答案:

答案 0 :(得分:1)

将STR_TO_DATE功能与COALESCE结合使用 - 类似于:

set @strdate := '2014/05/10';
select COALESCE(STR_TO_DATE(@strdate,'%m/%d/%Y'),STR_TO_DATE(@strdate,"%Y/%m/%d"))

答案 1 :(得分:0)

您可以使用MySQL str_to_date()函数。它需要一种格式,如果数据与格式不匹配,则返回NULL。 UseCoalesce with str_to_date with str_to_date,格式似然可能性的降序。

示例如果yyyy / mm / dd比mm / dd / yyyy更常见则使用

COALESCE(STR_TO_DATE(your_date_here,'%Y/%m/%d'),STR_TO_DATE(@strdate,"%m/%d/%Y"))

编辑:这与OndřejŠotek的答案相同,但可能会有性能提升