如何在DATENAME()上使用order by子句来排序日期名称

时间:2014-04-19 15:02:41

标签: sql-server-2008

我的查询是

SELECT        DATENAME(dw, date) AS DayOnDate
FROM            datetbl

输出是:

Saturday
Sunday
Saturday
Sunday
Monday
Tuesday

我想把这一天的名字排序为

Tuesday 
Monday
Saturday
Saturday
Sunday
Sunday

2 个答案:

答案 0 :(得分:0)

您的预期订单很奇怪,但如果您的意图是所有具有相同日期名称的行一起出现,那么您需要做的就是添加 在FROM datetbl之后订购DATENAME(dw,日期)

答案 1 :(得分:0)

您的示例看起来像您希望按周工作日降序,因此请尝试使用

SELECT        DATENAME(dw, date) AS DayOnDate
FROM            datetbl
ORDER BY    WEEKDAY(date) DESC

这不会给出您给出的确切顺序,因此您必须应用某种偏移量。我不能告诉你那是什么,因为你没有在一周的所有日子里表现出来。