我试图根据输入的日期从我的数据库中获取最后一个条目。 sql不能完全按照我的意愿工作。这是我的sql
SELECT TOP 1 * FROM BILLS_HITS ORDER BY DATETIMEADD DESC
任何人都可以看到它有什么问题吗? sql返回一个日期为“6/6/2012 7:10:11 AM”的记录,而不是6月20日的记录。
答案 0 :(得分:3)
使用更加数据库无关的方法:
SELECT *
FROM
BILLS_HITS
WHERE
DATETIMEADD = (SELECT MAX(DATETIMEADD) FROM BILLS_HITS)
TOP
关键字更具体针对MSSQL,而上述查询适用于大多数其他DBMS,包括MSSQL。
另外,为了快速进行选择,您可能希望在列DATETIMEADD
上添加索引
如果它不起作用,请确保DATETIMEADD
列具有正确的日期/日期时间类型,而不仅仅是varchar / char / text字符串。