我有一个被格式化像这样的日期列:28-15
。
格式是第一个数字表示哪个星期,第二个数字表示哪一年。
我尝试使用str_to_date(datecolumn, '%v-%y')
效果不佳。它命令列表,但顺序不正确。
我还尝试过将日期列设置为conatt,以使字符串看起来像这样:
01-28-15
(首先是星期几),并且使用str_to_date(datecolumn, '%w-%v-%y)
,没有运气。
我究竟做错了什么?
从MySql文档:
您不能使用格式“%X%V”将年周字符串转换为日期,因为如果周与月相交,则年和周的组合不能唯一地标识年和月。要将年周转换为日期,还应指定工作日:
SELECT STR_TO_DATE('200442 Monday', '%X%V %W');
对于您的情况,您需要对星期几(例如星期一)和世纪(例如2000)进行假设,然后可以通过以下方式获取日期:
SELECT DATE_ADD(STR_TO_DATE(CONCAT(datecolumn, ' ', 'Monday'), '%V-%X %W'), INTERVAL 2000 YEAR)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句