将 MMM-YY 字符串转换为可排序日期格式

Convert MMM-YY string into Sortable Date Format

所以我用这个在房子里转了一圈,但没有让它工作...

我有一个 SELECT 查询,其中包含一个 VARCHAR 列 (alloc_mth),日期格式为 MMM-YY(例如 Jan-15),我希望能够在其中进行 ORDER BY我的查询。为此,我需要转换为可识别的日期格式。我一直在按照说明进行操作 here,但我很难让它发挥作用。

我的SELECT查询如下...

SELECT `alloc_mth`, SUM(`line_cleared`), SUM(`line_count`), (SUM(`line_cleared`)/SUM(`line_count`))*100 as `Fill` 
FROM `allocHist` 
GROUP BY 1
ORDER BY CAST('1.' + `alloc_mth` AS DATETIME) ASC;

这样做的最终结果是分组和求和工作正常,但日期格式和排序不...

这应该有效还是我遗漏了什么?

用表达式,

'1.' + `alloc_mth`

您正在对字符串执行加法,在 mysql 中计算结果为 1。连接字符串的方法是使用concat(str1, str2)。但是,在这种情况下,这应该是不必要的。

您想转换为 str_to_date 的日期。

order by str_to_date(alloc_mth,'%b-%YY')