任何人都可以帮助解决这个问题,我正在尝试从表中选择最近 12 个月的日期,然后更改格式以使日期显示为:
2013 年 2 月
2013 年 1 月等
我可以将格式更改为上述格式,但这会将日期更改为字符串,从而无法订购 DESC。
我怎样才能保持上述格式,并且仍然按 desc 排序
SELECT DISTINCT TOP 12
--CONVERT(date, NewsDatePosted, 120) AS ArchiveTravelNewsByMonth
--CONVERT(CHAR(4), NewsDatePosted, 100) + CONVERT(CHAR(4), NewsDatePosted, 120) AS MY
--DatePart(Year,NewsDatePosted) AS YearPosted
--datename(month,NewsDatePosted) + ' ' + DatePart(Year,NewsDatePosted) AS YearPosted
FROM dbo.at_News
order by ArchiveTravelNewsByMonth DESC
谢谢
乔治
SELECT DISTINCT TOP 12 SUBSTRING(CONVERT(VARCHAR(11), NewsDatePosted, 113), 4, 8)
AS ArchiveTravelNewsByMonth,
NewsDatePosted
FROM dbo.at_News
ORDER BY CONVERT(DATETIME, CONVERT(CHAR(4), NewsDatePosted, 100) + CONVERT(CHAR(4), NewsDatePosted, 120))