Aks*_*y J 1 sql t-sql sql-server sql-server-2005 sql-server-2008
我有一个名为[AccountsLedger]的视图,其日期字段名称为[Date].当我使用此查询时,order by不起作用:
SELECT CONVERT(varchar,[Date],103) as [Date]
,[VoucherType]
,[BillNo]
,[Debit]
,[Credit]
FROM [AccountsLedger]
order by [Date]
Run Code Online (Sandbox Code Playgroud)
结果:
Date VoucherType BillNo Debit Credit
01/06/2011 SALE 18 8400.00 0.00
03/06/2011 BEEJAK 15 0.00 24944.40
12/12/2009 PAYMENT 1 1000.00 0.00
12/12/2011 JOURNAL 1 800.00 0.00
12/12/2012 RECEIPT 4 0.00 1200.00
12/12/2016 RECEIPT 5 0.00 600.00
Run Code Online (Sandbox Code Playgroud)
请帮忙.
试试这个
SELECT CONVERT(varchar,[Date],103) as [Date]
,[VoucherType]
,[BillNo]
,[Debit]
,[Credit]
FROM [AccountsLedger]
ORDER by [AccountsLedger].[Date]
Run Code Online (Sandbox Code Playgroud)
问题是您的查询按新形成的字符串值进行排序,您的命名方式与在表中命名datetime字段的方式相同.因此,为了解决问题,您需要为结果字符串值和基础字段指定不同的名称或指定表前缀.