sql语句中的日期型数据相减时,如何只用年份和月份相减,得到相差月数?

sql语句中的日期型数据相减时,如何只用年份和月份相减,得到相差月数?

Oracle的话直接有months_between函数但是直接用的话会有小数

select Months_Between(a.D1,a.D2) c from AAA a;

sql语句中的日期型数据相减时,如何只用年份和月份相减,得到相差月数?

select Months_Between(to_date(TO_CHAR(a.D1, 'YYYY-MM'), 'YYYY-MM'),

                      to_date(TO_CHAR(a.D2, 'YYYY-MM'), 'YYYY-MM')) c from AAA a;

像这样转一下转换一下就可以求出月份差,而且是整数,是期望的值

sql语句中的日期型数据相减时,如何只用年份和月份相减,得到相差月数?