如何退回最后输入的项目?

时间:2012-06-12 01:17:36

标签: asp.net sql vb.net select

我试图根据输入的日期从我的数据库中获取最后一个条目。 sql不能完全按照我的意愿工作。这是我的sql

SELECT TOP 1 * FROM BILLS_HITS ORDER BY DATETIMEADD DESC

任何人都可以看到它有什么问题吗? sql返回一个日期为“6/6/2012 7:10:11 AM”的记录,而不是6月20日的记录。

1 个答案:

答案 0 :(得分:3)

使用更加数据库无关的方法:

SELECT *
FROM
    BILLS_HITS
WHERE
    DATETIMEADD = (SELECT MAX(DATETIMEADD) FROM BILLS_HITS)

TOP关键字更具体针对MSSQL,而上述查询适用于大多数其他DBMS,包括MSSQL。

另外,为了快速进行选择,您可能希望在列DATETIMEADD上添加索引

如果它不起作用,请确保DATETIMEADD列具有正确的日期/日期时间类型,而不仅仅是varchar / char / text字符串。