时间/日期函数
add_months(date,integer)
返回date加上integer的值,返回值为DATE类型 。
vastbase=#select add_months(sysdate,4); add_months --------------------- 2021-01-25 13:43:43 (1 row)
last_day(date)
返回date所在月的最后一天。
vastbase=# select last_day('2011-02-11'); last_day --------------------- 2011-02-28 00:00:00 (1 row)
months_between(date1, date2)
返回date1与date2之间相差的月数,当date2早于date1,返回值为负数。
vastbase=# select months_between(sysdate,sysdate+1); months_between ------------------- -.032258064516129 (1 row)
nanvl(n2, n1)
当单精度或双精度浮点数n2的值为NAN,则返回n1,否则返回n2。
vastbase=# select nanvl(1,2); nanvl ------- 1 (1 row)
next_day(date, char)
返回date后的第一个自然日(包括工作日、休息日和节假日),返回值为DATE类型。
vastbase=# select pg_catalog.next_day('2020-03-12',1); next_day --------------------- 2020-03-15 00:00:00 (1 row)
numtodsinterval(n, interval_unit)
根据INTERVAL数据类型单元interval_unit(取值范围:'DAY'、'HOUR'、'MINUTE'、'SECOND'),将数字n转换为数据类型INTERVAL DAY TO xxx。
vastbase=# select numtodsinterval('1','DAY'); numtodsinterval ----------------- 1 day (1 row)
EXTRACT
EXTRACT从日期时间或间隔表达式中提取并返回指定的日期时间字段的值。
vastbase=# SELECT EXTRACT(month FROM sysdate) from dual; date_part ----------- 9 (1 row)