我有一个日期字段(例如故障单的日志日期),其中包含所有故障单创建日期。我想按顺序显示所有月份名称(即1月,2月,3月......)
日志日期格式为2011-08-09 10:13:000
。我可以使用DateName(Month,(Log_Date))
来表示月份名称。
当我使用查询时
SELECT DISTINCT DateName(Month,(Log_Date)) FROM TABLE_NAME
ORDER BY DateName(Month(Log_Date))
显示4月,8月,...但是我想显示1月,2月,3月......
答案 0 :(得分:3)
按订单排序
SELECT DISTINCT Datename(month,(Log_Date)), month(Log_Date)
FROM TABLE_NAME
ORDER BY month(Log_Date)
所以你按月份的数字表示排序,而不是名字。
或者只选择月份名称:
CREATE TABLE #tempMonth
(
id INT,
name VARCHAR(100)
)
INSERT INTO #tempMonth
SELECT DISTINCT month(ACT_CustSince) as id, DATENAME(month, ACT_CustSince) as name
FROM tblAccounts
ORDER BY month(ACT_CustSince)
SELECT name
FROM #tempMonth
DROP table #tempMonth