MYSQL按日期排序(字符串)

卡巴斯发

我有一个被格式化像这样的日期列: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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章