我需要以MMM YYYY格式从SQLServer 2005表中显示名为datetimestamp的日期时间字段的不同值。我还需要它们按时间顺序排序。
到目前为止,我有这个:
Select distinct CONVERT(CHAR(4), datetimestamp, 100) + CONVERT(CHAR(4), datetimestamp, 120) as MonthYear from TableName order by MonthYear
“order by”当然会因转换而按字母顺序对其进行排序。
Apr 2009
Dec 2009
Feb 2009
如何按时间顺序对其进行排序?
Feb 2009
Apr 2009
Dec 2009
感谢。
答案 0 :(得分:3)
edit2:看起来你需要拉回多个列。这仅使用上一次尝试的子查询:
select distinct DATEPART(year,datetimestamp) as year,
DATEPART(month,datetimestamp) as month,
CONVERT(CHAR(4), datetimestamp, 100)
+ CONVERT(CHAR(4), datetimestamp, 120) as MonthYear
from TableName order by DATEPART(year,datetimestamp),
DATEPART(month,datetimestamp)
答案 1 :(得分:0)