使用postgresql获取当前或某一时间段的年月日
获取当前时间
SELECT now();
-- 返回当前日期及时间,返回 2024-02-07 14:48:33.005088
SELECT current_timestamp;
-- 返回当前日期及时间,返回 2024-02-07 14:48:33.005088
SELECT current_date;
-- 返回当前日期,返回 2024-02-07
SELECT current_time;
-- 返回当前时间,返回 14:48:33
时间运算
获取当前月/年份第一天
SELECT date_trunc('month',current_date)::DATE;
-- 返回本月的第一天,返回 2024-02-01
SELECT date_trunc('year',current_date)::DATE;
-- 返回本年的第一天,返回 2024-01-01
根据当前日期获取前/后一年/月
select (current_date + INTERVAL '1 day')::DATE;
--根据当前日期获取次日,返回: 2024-02-08
select date_trunc('month',(current_date + INTERVAL '1 month'))::DATE;
--根据当前日期获取次月,返回:2024-03-07
select (current_date - INTERVAL '1 YEAR')::DATE;
--根据当前日期获取上一年,返回:2024-02-07
获取当月最后一天
select (date_trunc('month',current_date) + interval'1 month - 1 day')::DATE;
--首先用date_trunc函数获取当月的第一天的日期,接着再加一个月,最后再减一天,返回:2024-02-29
时间截取
截取年月日
SELECT to_char(CURRENT_TIMESTAMP, 'yyyy-mm');
--- 返回 2024-02
截取时分秒
SELECT substr(to_char(CURRENT_TIMESTAMP, 'yyyy-mm-dd hh24:mi:ss'),12,8);
--返回:15:19:34