如何使用纯SQL将字符串解析为日期组件?

时间:2014-12-09 15:42:20

标签: mysql sql

我的日期列中缺少日期组件,例如:

publish_date
"1997"
"1997"
"1998"
"1996"
(NULL)
"2006"
"March, 2004"
"February 28, 2007"
"February 28, 2007"
"1997"

我想将每个日期分解为3个(日,月,年),并将值更新为该行的3个新字段。

我认为我可以使用STR_TO_DATE,但它并不适用于所有不完整的日期。

我可以简单地用PHP做这个,但我希望有一个纯SQL解决方案,可能吗?

1 个答案:

答案 0 :(得分:2)

在MySQL中,您可以使用day()month()year()函数。这些应该适用于部分日期。如果数据存储为字符串,那么您还有其他问题。