代码之家  ›  专栏  ›  技术社区  ›  odiseh

在sql server2008中处理datetime列的时间部分

  •  0
  • odiseh  · 技术社区  · 15 年前

    我在sql server 2008中有一个名为table1的表。 表1有一个名为createDate的列,其数据类型为dateTime。 现在,我想得到它们的createDate字段值大于例如1小时的记录。

    3 回复  |  直到 15 年前
        1
  •  1
  •   anishMarokey FIre Panda    15 年前

    尝试使用一些日期时间函数,例如 DATEADD 功能

    例如: select dateadd(hh,-1,GETDATE())

        2
  •  3
  •   marc_s    15 年前

    在sql server 2008中,应该使用内置的 TIME 尽可能多的日期类型。

    如果您有一个DATETIME列,您可以通过使用它轻松地将其转换为时间:

    SELECT CAST(CreateDate AS TIME) FROM Table1
    

    它应该只返回datetime列的时间部分。

    马克

        3
  •  0
  •   Mike Valenty    15 年前

    这将获得超过一小时的记录:

    select * from Table1 where createDate < dateadd(hh, -1, getdate())