日期函数的基本操作,一直是用 Oracle 写 SQL 时绕不开的事儿。MONTHS_BETWEENADD_MONTHS这些函数,挺常用,尤其在做账期计算、对账统计时,真的省不少事。你要是真经常跟日期打交道,早点熟点好,少踩坑。

MONTHS_BETWEEN 是用来计算两个日期相差多少月的,注意不是 30 天平均数,而是按日历月算的。比如 MONTHS_BETWEEN('2024-06-01', '2024-01-01') 就是 5。

ADD_MONTHS 就挺直白了,往日期上加几个月,项目排期、保修期计算用得上。

NEXT_DAY 比较适合搞周报或者安排周例会那种需求,比如你想知道下个星期一是哪天,就它来搞定。

LAST_DAY 拿来搞月末报表再合适不过了,啥时候是月底?一行 SQL 就。

还有 ROUNDTRUNC,一个是四舍五入日期(比如按月取整),一个是直接截断,不要小看这俩,在做时间段统计的时候挺有用的。

不熟?没事,下面这几个链接可以帮你系统过一遍:

如果你在做报表、搞统计,或者跟财务打交道比较多,强烈建议你把这些函数记熟点。写 SQL 的时候,顺手多了。