方法1:
date_part() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
date_part('day', '2019-11-18 12:05'::timestamp - '2019-10-18 12:05'::timestamp)
方法2:
select (('2019-11-18 12:05'::timestamp)::date - ('2019-10-18 12:05'::timestamp)::date) as day
方法3
DATE_TRUNC 函数根据您指定的日期部分(如小时、周或月)截断时间戳表达式或文本。DATE_TRUNC 返回指定的年的第一天、指定的月的第一天或指定的周的星期一。
例如:求最近3个月创建的销售量
select sum(sales) sales from t_sale where create_time>date_trunc('week',now()-interval '2 mon')
方法4:
直接加减:
SELECT now()::timestamp + '1 year'; --当前时间加1年
SELECT now()::timestamp + '1 month'; --当前时间加一个月
SELECT now()::timestamp + '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字段转换成天,然后相加
方法5:
age
select extract(day FROM (age('2017-12-10'::date , '2017-12-01'::date)))