计算SQL中两个日期的差值

计算SQL中两个日期的差值,sql,date,compare,Sql,Date,Compare,我有一个包含2个日期/时间列的表(CreatedDateTime/LastModifiedDateTime): 我想: 计算CreatedDateTime与今天日期之间的差值(给我一个“年龄”) 计算LastModifiedDateTime与今天日期之间的差异(让我了解iactivity) 和2。在上面,我希望能够报告一段时间内未被“修改”(LastModifiedDateTime)的项目 有人能给我指出正确的方向吗?您可以对年龄使用DATEDIFF()函数,对当前日期使用GETDATE()函数

我有一个包含2个日期/时间列的表(CreatedDateTime/LastModifiedDateTime):

我想:

  • 计算CreatedDateTime与今天日期之间的差值(给我一个“年龄”)
  • 计算LastModifiedDateTime与今天日期之间的差异(让我了解iactivity)
  • 和2。在上面,我希望能够报告一段时间内未被“修改”(LastModifiedDateTime)的项目

    有人能给我指出正确的方向吗?

    您可以对年龄使用DATEDIFF()函数,对当前日期使用GETDATE()函数

    您只需要输入DATEDIFF(day、CreatedDateTime、GETDATE())或类似的查询

    Datediff()还允许您采用月份、小时或其他时间度量

    同样使用#2,在某些情况下,当LastModifiedDateTime为NULL时,您可以抛出。。。您可以使用DATEDIFF()函数表示年龄,使用GETDATE()函数表示当前日期

    您只需要输入DATEDIFF(day、CreatedDateTime、GETDATE())或类似的查询

    Datediff()还允许您采用月份、小时或其他时间度量


    同样使用#2,在某些情况下,当LastModifiedDateTime为NULL时,您可以抛出。。。给自己一份不同的报告。

    如果您使用的是SQL SERVER:

    样本数据:

    CREATE TABLE #Temp(Item                 INT
                  , CreatedDateTime      DATETIME
                  , LastModifiedDateTime DATETIME);
    
    INSERT INTO #Temp
    VALUES
          (1
         , '2016-03-18 18:49:36.557'
         , '2016-03-22 18:51:10.950'),
          (2
         , '2016-03-22 17:32:57.610'
         , '2016-03-22 17:37:26.790');
    
    查询:

    SELECT A.Item
        , A.CreatedDateTime
        , A.LastModifiedDateTime
        , Age = DATEDIFF(day,A.CreatedDateTime,GETDATE())
        , inactivity = DATEDIFF(day,A.LastModifiedDateTime,GETDATE())
    FROM   #Temp AS A;
    
    结果:


    如果您使用的是SQL SERVER:

    样本数据:

    CREATE TABLE #Temp(Item                 INT
                  , CreatedDateTime      DATETIME
                  , LastModifiedDateTime DATETIME);
    
    INSERT INTO #Temp
    VALUES
          (1
         , '2016-03-18 18:49:36.557'
         , '2016-03-22 18:51:10.950'),
          (2
         , '2016-03-22 17:32:57.610'
         , '2016-03-22 17:37:26.790');
    
    查询:

    SELECT A.Item
        , A.CreatedDateTime
        , A.LastModifiedDateTime
        , Age = DATEDIFF(day,A.CreatedDateTime,GETDATE())
        , inactivity = DATEDIFF(day,A.LastModifiedDateTime,GETDATE())
    FROM   #Temp AS A;
    
    结果:

    函数返回两个日期之间的时间

    语法DATEDIFF(datepart、startdate、enddate)

    结果

    扩散 61

    交换日期将导致负面结果。

    函数返回两个日期之间的时间

    语法DATEDIFF(datepart、startdate、enddate)

    结果

    扩散 61


    交换日期将导致负面结果。

    您使用的是什么数据库管理系统?不同方言之间存在差异,因此您使用的方言具有高度相关性。请包含适当的标记。您使用的是什么数据库管理系统?不同方言之间存在差异,因此您使用的方言具有高度相关性。请包括适当的标签。这是有用的,我很容易理解-谢谢!这对我来说很有用,也很容易理解-谢谢!谢谢,我也来试试。谢谢,我也来试试。