首页 > 解决方案 > 如何计算以年和月为单位的时间段

问题描述

我希望能够获得客户注册的时间,到目前为止,我只有几个月,但我想获得年份和月份。可能有一个我没有使用的功能可以工作数年和数月,而不仅仅是数月。谢谢

SELECT MONTHS_BETWEEN(TO_DATE(SYSDATE,'DD-MON-YYYY'), (TO_DATE(REGISTER_DATE,'DD-MON-YYYY'))) AS 
"Registered for"
FROM A3_CUSTOMER
WHERE CUSTOMER_ID = 'C99166'

标签: sqloracle

解决方案


您可以按如下方式使用months_between:

Trunc(MONTHS_BETWEEN(SYSDATE, REGISTER_DATE)/ 12) as year,
Trunc(Mod(MONTHS_BETWEEN(SYSDATE, REGISTER_DATE), 12))  as month

推荐阅读