【问题标题】:HOW TO CALCULATE DIFFERENCE IN MONTHS SQL DB2如何计算以月为单位的差异 SQL DB2
【发布时间】:2021-05-19 19:46:08
【问题描述】:

我有一个数字格式“202101”的变量 CREATION_DATE 表示年和月,我需要计算该日期和当前日期之间的月差,我已经尝试过:

MONTHS_BETWEEN(
  DATE(TIMESTAMP_FORMAT(CHAR(CREATION_DATE),'YYYYMM')),
  DATE(TIMESTAMP_FORMAT(CHAR(
    YEAR(CURRENT DATE)*100+MONTH(CURRENT DATE)),
    'YYYYMM'
  ))) 

还有这个:

MONTHS_BETWEEN(
  DATE(TIMESTAMP_FORMAT(CHAR(CREATION_DATE),'YYYYMM')),
  CURRENT DATE
) 

【问题讨论】:

  • 问题是什么?
  • 这取决于您将如何计算它。假设您有 YYYYMM,表达式可能是:(YEAR (CURRENT DATE) - YYYY) * 12 + MONTH (CURRENT DATE) - MM。它对你有用吗?

标签: sql datetime db2


【解决方案1】:

看看这个:

WITH temp(creation_date) AS (VALUES ('202102')
)
SELECT creation_date
     , CURRENT date
     , months_between(CURRENT date, DATE(TIMESTAMP_FORMAT(CHAR(CREATION_DATE),'YYYYMM')))
FROM temp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    相关资源
    最近更新 更多