【问题标题】:SQL date compareSQL日期比较
【发布时间】:2012-04-17 18:53:51
【问题描述】:

我有一个包含 1000 条记录的表。一列是发布日期,格式为'2008-01-02 00:00:00.000'。我想查询 SQL DB 以获取最新发布日期的记录。我应该做一个比较还是有其他过滤器?

【问题讨论】:

  • 那么,是2008-01-02 00:00:00.000 类型DATETIME 还是CHAR?。如果不是DATETIME,是表示一月二号还是二月一号?

标签: sql database sql-server-2008


【解决方案1】:
SELECT * FROM tbl WHERE publishdate = (SELECT MAX(publishdate) FROM tbl)

【讨论】:

【解决方案2】:

如果你只想要一条记录:

SELECT TOP 1 * FROM mytable ORDER BY publishdate DESC

如果您想要所有出版日期最长的书籍,请使用 Cade Roux 的查询。

【讨论】:

  • 如何在 SQL 中将此发布日期转换为“mm/dd/yy”?
  • 查看这个关于格式化日期的链接,但请记住,格式化后,返回的日期实际上是文本(varchar)数据类型,而不是日期数据类型。日期就是这样,您无法更改服务器存储它的方式,您只能使用格式来告诉 SQL Server 以某种方式显示它。 stackoverflow.com/questions/759292/to-change-date-format-in-sql
【解决方案3】:

如果发布日期是日期时间

SELECT TOP 1  *
FROM tbl
ORDER BY publishdate DESC

【讨论】:

    猜你喜欢
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 2011-06-15
    • 2021-12-23
    • 2018-08-31
    相关资源
    最近更新 更多