如何计算以月为单位的差异 SQL DB2
Posted
技术标签:
【中文标题】如何计算以月为单位的差异 SQL DB2【英文标题】:HOW TO CALCULATE DIFFERENCE IN MONTHS 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
。它对你有用吗?
【参考方案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
【讨论】:
以上是关于如何计算以月为单位的差异 SQL DB2的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化:自定义设置X轴上的时间间隔(中断以月为单位),使用scale_x_date()自定义设置坐标轴间隔和标签添加标题副标题题注信息