按降序排序是不行的?

时间:2013-12-11 14:51:43

标签: sql-server sql-order-by

SELECT convert(VARCHAR, WH.DATE, 103),
    PN.partyname,
    BT.birdname,
    dt.totalweight,
    dt.rateperkg,
    dt.dcno,
    mr.branch
FROM K_RT_Dailyentryretail DT
INNER JOIN K_RT_PartyName PN
    ON pn.sno = dt.partyname
INNER JOIN K_RT_WarehouseDetails WH
    ON dt.branchdate = wh.sno
INNER JOIN K_RT_BirdType BT
    ON dt.birdtype = bt.sno
INNER JOIN K_RT_MasterRetailStores MR
    ON MR.sno = WH.branch
WHERE MR.branch + ' - ' + convert(VARCHAR, WH.DATE, 103) = @date
ORDER BY convert(VARCHAR, WH.DATE, 103) DESC

这里..按日期排序不起作用。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

尝试更改:

order by convert(varchar,WH.date,103) desc

为:

order by WH.date desc

答案 1 :(得分:1)

当您对日期进行排序时,使用格式“103”转换为varchar字符串时,日期字符串如下所示:

dd/mm/yyyy

所以,排序首先按“dd”排序,然后按“mm”排序,然后排序“yyyy”。

您可以使用103以格式显示日期,但是当您按顺序执行时,请使用:

order by WH.date desc