lightdb中日期加减
在PostgreSQL中可以直接对时间进行加减运算,但不是支持ANSI SQL的DATEADD/SUBSTRACT函数:
SELECT now()::timestamp + '1 year'; --当前时间加1年
SELECT now()::timestamp + '1 month'; --当前时间加一个月
SELECT now()::timestamp + '1 day'; --当前时间加一天,如果减一天,要用+ '-1 day'。
SELECT now()::timestamp + '1 hour'; --当前时间加一个小时
SELECT now()::timestamp + '1 min'; --当前时间加一分钟
SELECT now()::timestamp + '1 sec'; --加一秒钟
select now()::timestamp + '1 year 1 month 1 day 1 hour 1 min 1 sec'; --加1年1月1天1时1分1秒
SELECT now()::timestamp + (col || ' day')::interval FROM table --把col字段转换成天 然后相加
now()返回的是timestamp with time zone类型。需要先强转。
zjh@postgres=# select sysdate+'48 day';
?column?
---------------------
2023-03-03 20:23:16
(1 row)
lightdb 23.2将支持sysdate(timestamp without time zone的语法糖)+N日期计算。
lightdb datetime也是timestamp with time zone类型的别名,兼容mysql而在。