我尝试按降序从表中获取日期,但是当我在查询中按顺序编写时,它按升序显示日期..我无法发布整个查询我发布特定行例如当我尝试这是查询显示时
date
01/03/2016
26/02/2016
25/02/2016
06/01/2015
但这就是我想要的东西
date
06/01/2015
25/02/2016
26/02/2016
01/03/2016
这是我试过的
ORDER BY
convert(date, account.postdate) DESC,
account.ACDOCNO ASC
任何解决方案?
答案 0 :(得分:0)
您需要将ORDER BY中的日期从DESC更改为ASC
ORDER BY
convert(date, account.postdate) ASC,
account.ACDOCNO ASC
或只是
ORDER BY
convert(date, account.postdate) ,
account.ACDOCNO
由于ASC是SQL Server中的默认排序顺序。
答案 1 :(得分:0)
我认为这里的问题可能是一个语言问题 - 您所分享的所需输出确实是升序顺序(对于日期而言,这意味着从较旧到较新)。因此,只需使用asc
代替desc
,您就可以了:
ORDER BY
convert(date, account.postdate) ASC, -- Here!
account.ACDOCNO ASC
答案 2 :(得分:0)
这还取决于您如何在表格中保存日期。你把它们保存为DATETIME类型吗?
如果不是,这是相关的帖子: Order by date (varchar)?
顺便问一下,convert()
在这做什么?从我在参考文献中检查过,它用于将字符串转换为不同的字符集。