我已将Fiscal月存储为表中的Nvarchar列,并且希望根据会计月对该表进行排序。如何对SQL Server 2008中存储为Nvarchar的会计月进行排序
创建表样品( ID Ineger ,FiscalMonth NVARCHAR(MAX) );
实施例:表包含此数据现在
Id FiscalMonth
-----------------
1 FY15-Oct
2 FY15-Sep
3 FY15-Jul
4 FY15-Aug
如果我在由FiscalMonth列结果为了将这个表进行排序:
SELECT * FROM样品ORDER BY FiscalMonth;
结果:
Id FiscalMonth
-----------------
4 FY15-Aug
3 FY15-Jul
1 FY15-Oct
2 FY15-Sep
但我想作为导致
预期输出:
Id FiscalMonth
-----------------
3 FY15-Jul
4 FY15-Aug
2 FY15-Sep
1 FY15-Oct
有人可以帮助我如何对这个问题的方法不改变表的模式?
难道你不能花时间来解决这个问题,而是为了解决设计缺陷吗?可以将它存储为'date' /'datetime'或两个列'year'和'month'。格式不属于数据库。 –
这是mysql还是mssql服务器?你有标签冲突吗? – JBond
所有的答案都是无关的,直到我们知道DBMS。问题表明他的表包含NVARCHAR(MAX)。这在MySQL中不存在......所以使用MySQL的答案可能是多余的。 – JBond