如何在SQL中显示最后10个数字 [英] How to display last 10 numbers in SQL
问题描述
我有一个带有两列的表A(数字varchar(600),Date_ varchar(800))
现在我必须按日期显示最后10个数字。
i have a table A with two column (number varchar(600),Date_ varchar(800))
now i have to display last 10 numbers order by Date_.
SELECT top(10) Number,Date_ FROM A ORDER BY Date_ DESC
问题是,根据需要显示一个月的结果,
但是下个月很快就开始没有按照预期显示结果
i想要这样的结果。
the problem is that for one month its showing result as desired,
but as soon next month start it not showing result as desired
i want the result like this.
10,2/2/2016
22,1/2/2016
10,31/1/2016
20,30/1/2016
30,29/1/2016
23,28/1/2016
20,27/1/2016
11,26/1/2016
18,25/1/2016
62,24/1/2016
56,23/1/2016
54,22/1/2016
44,21/1/2016
i得到这个结果 - / 1/2016个月但不是 - / 2/2016。
非常友好帮助。
i am getting this result for --/1/2016 month but not for --/2/2016.
so kindly help.
推荐答案
请阅读我对该问题的评论。你应该使用正确的数据类型!
要解决你的问题,试试这个:
Please, read my comment to the question. You should use proper data type!
To workaround your issue, try this:
SELECT top(10) Number, Date_
FROM A
ORDER BY CONVERT(DATE, Date_) DESC
详情请见:
CAST和CONVERT(Transact-SQL) [ ^ ]
修改列(数据库引擎) [ ^ ]
ALTER TABLE(Transact-SQL) [ ^ ]
For further details, please see:
CAST and CONVERT (Transact-SQL)[^]
Modify Columns (Database Engine)[^]
ALTER TABLE (Transact-SQL)[^]
SELECT top(10)Number,Date
FROM A
ORDER BY convert(datetime,Date,103)DESC
SELECT top(10) Number,Date
FROM A
ORDER BY convert(datetime,Date,103) DESC
SELECT TOP 10 PARSE(Number AS int) AS Number,
PARSE(Date AS datetime2) AS Date
FROM A
ORDER BY Date DESC
在你的订单中做PARSE
Do PARSE in your ORDER BY
这篇关于如何在SQL中显示最后10个数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!