我尝试这样做,但由于某种原因它总是打乱顺序。我尝试了 DATE_FORMAT,它说它不是可识别的内置函数名称
Select
FORMAT(ProcessDate, 'MMM-yy') as ProcessDate,
ProcessComment as ProcessComment
from EMPLOYEE
where ProcessDate between '23/06/2023' and '23/12/2023'
order by ProcessDate desc;
您将日期转换为不再可排序的字符串(例如,DEC 在字母表中位于 FEB 之前)。当您将该字符串命名为与原始日期相同时,DBMS 认为您想要按生成的字符串进行排序。使用与列名不同的别名并按原始日期排序。
您还应该使用正确的日期文字,而不是使用您希望 DBMS 为您正确转换为日期的字符串(例如猜测哪个位置是日期,哪个位置是月份)。
SELECT
FORMAT(processdate, 'MMM-yy') AS process_date,
processcomment AS process_comment
FROM employee
WHERE processdate BETWEEN DATE '2023-06-23' and DATE '2023-12-23'
ORDER BY processdate DESC;